Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/350.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 在html图像src中查找子字符串的正则表达式_Python_Beautifulsoup - Fatal编程技术网

Python 在html图像src中查找子字符串的正则表达式

Python 在html图像src中查找子字符串的正则表达式,python,beautifulsoup,Python,Beautifulsoup,我正在使用beautifulsoup在网站上搜集不同的数据。 我正在尝试刮取源代码,但不是所有的源代码,只是对我来说很重要的子字符串 例如,在这个项目中,我只想选择/和.png之间的字符串(在本例中是“nyt”),并将其保存在列表中 <image width="185" height="26" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="https://a1.nyt.com/assets/shell/20160613-0

我正在使用beautifulsoup在网站上搜集不同的数据。 我正在尝试刮取源代码,但不是所有的源代码,只是对我来说很重要的子字符串

例如,在这个项目中,我只想选择/和.png之间的字符串(在本例中是“nyt”),并将其保存在列表中

<image width="185" height="26" 
xmlns:xlink="http://www.w3.org/1999/xlink" 
xlink:href="https://a1.nyt.com/assets/shell/20160613-034030/images/foundation/logos/nyt-logo-185x26.svg" src="https://a1.nyt.com/assets/shell/20160613-034030/images/foundation/logos/nyt.png" border="0"></image>

我一直在尝试使用几个正则表达式,如re.search('[a-z]*.png',src).group(0),但没有一个能很好地工作


有谁能告诉我什么是正确的方式来获取这些信息吗???

如果您想在
src
属性中找到png的名称,您可以使用以下正则表达式:

src=\s*(\"|\')[^"']+?([^/]+?)\.png\1
在本例中,您必须用Python捕获第二个组

单击以进行尝试

解释如下:

src=\s*
literal查找所有“src=”literal,后跟任意数量的可选空格

(\“|\”)
使用双引号或单引号分组

[^”]+?
任何不是双引号或单引号(非贪婪)的内容

([^/]+?)
任何不是正斜杠(非贪婪)的东西

\.png
literal.png”


\1
返回对第一个组的引用
(\“|\”)
如果要在
src
属性中查找png的名称,可以使用以下正则表达式:

src=\s*(\"|\')[^"']+?([^/]+?)\.png\1
在本例中,您必须用Python捕获第二个组

单击以进行尝试

解释如下:

src=\s*
literal查找所有“src=”literal,后跟任意数量的可选空格

(\“|\”)
使用双引号或单引号分组

[^”]+?
任何不是双引号或单引号(非贪婪)的内容

([^/]+?)
任何不是正斜杠(非贪婪)的东西

\.png
literal.png”


\1
返回对第一组的引用
(\“|\”)

您能告诉我们您要提取字符串的确切部分吗?您能告诉我们您要提取字符串的确切部分吗?