为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

Cats萌萌 2023-10-13 14:41:59
我有这个正则表达式:(?=<a .*href=")(.+)(?=".*>My Text<\/a>)有了这个,我尝试href从<a>.HTML假设我有这个HTML:<html> <head>     ... </head> <body>     ...      <a class="..." href="..." ..="..">My Text</a>     ... </body> </html>通过我的正则表达式,我得到了<a class="..." href="..." ..="..(stop before ">),但我只想要href值。编辑:这个答案:用于查找 <a> 链接的“href”值的正则表达式对我没有帮助。通过该正则表达式,我获得了<a>具有标签所有属性的所有标签。
查看完整描述

2 回答

?
Qyouu

TA贡献1786条经验 获得超11个赞

考虑使用 HTML 解析器。正则表达式通常不足以解析 HTML。对于您发布的示例及其相当有限的变体,以下内容应该有效:

<a[\s\S]*?href="([^"]+)"[\s\S]*?>

演示


查看完整回答
反对 回复 2023-10-13
?
回首忆惘然

TA贡献1847条经验 获得超11个赞

您可以使用此正则表达式来定位 href 属性内的链接:

正则表达式:

<a .*? `href="(.*?)"`.*?>(?>.*?<\/a>)

解释 :

.*? ==> anything with non-greedy markup

href="(.*?)" ==> the captured group

(?>.*?<\/a>) ==> loop-ahead for the closed tag

演示: 这里


查看完整回答
反对 回复 2023-10-13
  • 2 回答
  • 0 关注
  • 90 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信