我有一个像下面这样的变量:
var = '<img src="path_1"><p>Words</p><img src="path_2>'
Run Code Online (Sandbox Code Playgroud)
它是一个字符串,但里面显然是html元素.如何使用正则表达式获取第一个路径(即path_1)?
我正在尝试这样的事情:
match = re.match(r'src=\"[\w-]+\"', var)
print match.group(0)
Run Code Online (Sandbox Code Playgroud)
我收到此错误:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AttributeError: 'NoneType' object has no attribute 'group'
Run Code Online (Sandbox Code Playgroud)
任何帮助表示赞赏.
>>> 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'
Run Code Online (Sandbox Code Playgroud)
至于正则表达式方法,您需要进行以下更改才能使其正常工作:
re.search(),re.match()从字符串的开头开始匹配src值固定版本:
>>> re.search(r'src="([\w-]+)"', var).group(1)
'path_1'
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
756 次 |
| 最近记录: |