python - Python正则表达式提取html标签的src内容?
问题描述
我尝试过这样的事情但失败了。我不知道正则表达式有人可以帮助我吗?
import re
html = """
<body>
<h1>dummy heading</h1>
<img src="/pic/earth.jpg" alt="planet" width="200">
<img src="/pic/redrose.jpg" alt="flower" width="200">
</body>
"""
x = re.search('^src=".*jpg$', html)
print(x)
我期待这样的输出 ['/pic/earth.jpg','/pic/redrose.jpg']
解决方案
我不擅长正则表达式。所以我的回答可能不是最好的。
尝试这个。
x = re.findall(r'(?=src)src=\"(?P<src>[^\"]+)', html)
比你可以看到下面的 x 。
['/pic/earth.jpg', '/pic/redrose.jpg']
正则表达式解释:
(?=src) : 正向查找 --> 只看到那些有src字的
src=\" : 必须包含这个特定的单词src="
(?P somthing) :这个表达式将 somthing 分组命名为src
[^\"]+ : 除了 " 字符之外的所有内容
推荐阅读
- android - 如何使用phoneNumber或电子邮件ID作为android中的参数从通讯录中获取联系人姓名
- python - 在 Numpy 数组中搜索子字符串值
- node.js - 无需全域授权即可访问 Google Workspace Admin SDK?
- android - Android createCaptureSession 冻结 UI 2 秒
- javascript - Openlayers 6 延迟交互
- javascript - 使用 jQuery UI 将特定日期变灰不起作用
- reactjs - 缩放和平移画布的反应包
- javascript - ckeditor5 从内容中删除视频标签
- c++ - ubuntu 中 C++ 的 Notepad++ NppExec 脚本
- python - Groupby 并删除 NaN 行,同时在 Pandas 中保留一个