Skip to main content
 首页 » 编程设计

python之使用 python 正则表达式查找图像路径

2025年05月04日10zhenyulu

我有一个如下所示的变量:

var = '<img src="path_1"><p>Words</p><img src="path_2>' 

它是一个字符串,但里面显然是html元素。如何使用正则表达式仅获取第一条路径(即 path_1)?

我正在尝试这样的事情:

match = re.match(r'src=\"[\w-]+\"', var) 
print match.group(0) 

我收到这个错误:

Traceback (most recent call last): 
  File "<stdin>", line 1, in <module> 
AttributeError: 'NoneType' object has no attribute 'group' 

感谢任何帮助。

请您参考如下方法:

你 should use an HTML parser喜欢BeautifulSoup :

>>> from bs4 import BeautifulSoup 
>>> var = '<img src="path_1"><p>Words</p><img src="path_2>' 
>>> soup = BeautifulSoup(var, "html.parser") 
>>> soup.img["src"] 
'path_1' 

至于正则表达式方法,您需要进行以下更改以使其工作:

  • 切换到re.search() , re.match() 从字符串开头开始匹配
  • 添加一个 capturing group 捕获 src 值
  • 不需要转义双引号

固定版本:

>>> re.search(r'src="([\w-]+)"', var).group(1) 
'path_1'