【发布时间】:2020-12-14 13:23:40
【问题描述】:
我有一个这样的链接,我想用正则表达式匹配:
<a href="tel:something">something</a>
我设法将它与<a[^>]+tel:.*?>.*?<\/a>匹配
但我不想匹配其中嵌套了 <span></span> 的链接:
<a href="tel:[some_numbers]"><span class="hello">Hello</span>[some_numbers]</a>
我尝试使用负前瞻(?!(<\/?span[^>]*>)) 来排除<span></span>,但它不起作用。我的正则表达式如下:
/<a[^>]+tel:.*?>(?!(<\/?span[^>]*>)).*?<\/a>/ig
【问题讨论】:
-
Javascript 具有原生 XPath 支持。您的 HTML 字符串的来源是什么?正则表达式实际上是零理由,除非您以某种方式处理
text()的输出。 -
谢谢,我会研究 XPath! HTML 字符串的来源:var content = document.documentElement.innerHTML;
-
永远不要用正则表达式解析 html。 stackoverflow.com/questions/1732348/…
-
@DrMe 我明白了,看看我的回答。您可以直接跳到
var iterator行。
标签: javascript html regex xpath