python - 无法使用正则表达式获取图像路径

标签 python regex

我想从文本中提取图像路径,如下所示:

body = 'some text here <br> <img src="/path/to/1234/some_Random_name24.jpg" class="img-responsive" /> </br>'

或者

body = '<br> Hi <img src="/path/to/15004/other_Random_name.png" class="img-responsive" /> other text'

我的正则表达式:

match = re.search(r'src=\"(?P<path1>\"', body)
if match:
        print(match.group('path1'))
else:
        print("no match found")

但无法捕获任何路径。我该如何解决这个问题?

最佳答案

对于快速而肮脏的黑客,您可以使用

<img[^>]*src="([^"]+)

黄金途径是使用解析器。请参阅a demo on regex101.com

<小时/> 在 Python 中,这可能是

import re
junk = """body = 'some text here <br> <img src="/path/to/1234/some_Random_name24.jpg" class="img-responsive" /> </br>'

body = '<br> Hi <img src="/path/to/15004/other_Random_name.png" class="img-responsive" /> other text'"""

rx = re.compile(r'<img[^>]*src="([^"]+)')

sources = rx.findall(junk)
print(sources)

哪个产量

['/path/to/1234/some_Random_name24.jpg', '/path/to/15004/other_Random_name.png']

查看另一个demo on ideone.com .

关于python - 无法使用正则表达式获取图像路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57348906/

相关文章:

python - 如何显示完整结果,而不是 python 中正则表达式搜索的匹配文本

javascript - 在网站上匹配某个单词 x 次的正则表达式

regex - 部分匹配 PostgreSQL 查询中的整数

C# 正则表达式 : Get sub-capture?

php - 获取 CSS 属性大小值的正则表达式?

python - 计算多列中的零

python - 从 'p' 中提取 'div' 中的文本

python - 如何使用 Python 在 SPSS 中设置可变宽度和小数?

python - 如何从 python 中调用 python click ?

python - 同一 python 版本的不同副本之间的行为不一致