如何使用正则表达式从 HTML 标记属性(src、data、href 或其他)中提取链接

埃拉诺7

我有一个 HTML 文档作为字符串,并想用一个正则表达式命令/模式提取它的所有链接(以获得更好的性能),而不是单独搜索每个标签(这是我知道解决它的唯一方法)。

HTML 示例:

<a href="..."></a>
<img src="..." data-full-resolution="..." />
<object data="..."/>

还请考虑图像标签有两个应该被提取的属性(srcdata-full-resolution)。

编程语言被故意遗漏,因为我需要一个“原始”解决方案,没有 HTML 库

阿尔乔姆·万青
(?:data-full-resolution|src|href|data)=\"(.*?)\"

正则表达式解释

  • (?:非捕获组
    • data-full-resolution|src|href|datadata-full-resolution, src,href中的一个data
  • )关闭非捕获组
  • =\"="在属性名称之后匹配
  • (捕获组
    • .*?非贪婪捕获直到下一个报价
  • )关闭组
  • \"匹配关闭报价

见正则表达式演示

Python 示例

import re

html = """<a href="<link-href>"></a>
<img src="<link-src>" data-full-resolution="<link-data-full-resolution>" />
<object data="<link-data>"/>"""

print(re.findall(r"(?:data-full-resolution|src|href|data)=\"(.*?)\"", html))  # ['<link-href>', '<link-src>', '<link-data-full-resolution>', '<link-data>']

Wherere.findall返回捕获组的列表。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

正则表达式使用Python从HTML的href属性中提取URL

使用正则表达式从HTML提取标签属性

如何使用正则表达式或python中的其他方式删除html中<p>标记下的属性?

如何从包含其他标签的html标签中提取文本?正则表达式

使用正则表达式从html标记中提取文本

正则表达式 - 提取 html 标签的 href <a>

使用正则表达式提取HTML页面中的href ID

使用正则表达式提取PHP中的HTML属性

如何使用正则表达式从 HTML 源代码中提取 JSON

如何使用正则表达式从href属性获取链接

正则表达式使用UUID搜索HTML标记

正则表达式从<link>标记以外的其他标记中获取href中的链接

WTForms Regexp验证器:如何使用正则表达式匹配html标记内的空白

使用正则表达式,如何替换特定html标记中未包含的文本?

如何使用Java正则表达式删除MS Word不必要的HTML标记

如何在Python中使用正则表达式从文件底部读取HTML标记之间?

如何使用正则表达式从html标记中删除脚本

如何在Java中使用正则表达式提取HTML的<td>标签数据?

如何使用sed正则表达式提取HTML并修改时间戳?

如何使用php正则表达式制作html链接

HTML属性的正则表达式

HTML属性的正则表达式

使用正则表达式提取元标记

如何使用正则表达式从 PHP 中用 html 编写的文本块中提取具体 url?

如何在C#中使用正则表达式从html中提取系统正常运行时间

如何使用正则表达式从两个类似的html类元素中提取数据?

使用正则表达式提取对象及其属性

从HTML标记获取属性的正则表达式

如何使用正则表达式提取特定的img src url格式?