是否有人能够提供正则表达式以匹配HTML代码段中<a> and </a>
标记之间的链接文字。
示例数据:<a href="link.html">Link Title</a> - 15 comments <br/> <a href="otherlink.html">Some other Title</a> - 6 comments
要求:我只需提取要在我的应用程序中使用的链接文本(即<a> and </a>
- 链接标题和其他标题之间的链接文本) 。
请注意,链接文字可能包含非英文字符和所有可能的截断信息。我试过用'。'运算符,但由于它执行 greedy 匹配,因此它匹配第一个<a>
和最后一个</a>
之间的整个文本。但我只想要链接文本。
任何帮助?
答案 0 :(得分:6)
停止使用正则表达式'解析'html。
https://blog.codinghorror.com/parsing-html-the-cthulhu-way/
RegEx match open tags except XHTML self-contained tags
使用真正的解析器。
答案 1 :(得分:2)
尝试
<a[^>]+>(.*?)</a>
答案 2 :(得分:0)
已经在StackOverflow上已经讨论了几十次(在其他论坛上已经有数千次),但显然仍然需要重复:它无法完成
正则表达式只能解析常规语言。 HTML 不是常规语言。证明你不能用正则表达式解析HTML是一个定期(双关语)的家庭作业任务几乎在这个星球上的每个学院和大学。它已被成千上万的人证实。它与任何数学证明一样可以防水。这是一个非常简短,非常简单,非常平易近人的证据。任何人都无法在其中找到隐藏的缺陷,因为证据非常简单和小,以至于无法隐藏任何隐藏的缺陷。
哦,我提到它无法完成?
这不是旅行商问题,需要很长时间才能运行。它不是P = NP,我们不知道它是否真实。
这是真的,绝对的,100%的,积极的,完全的,可证明是不可能的。
我忘记了。我是否已经提到无法完成?