正则表达式匹配<a ..=""> and </a>之间的文本

时间:2010-01-19 06:10:04

标签: java regex string

是否有人能够提供正则表达式以匹配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>之间的整个文本。但我只想要链接文本。

任何帮助?

3 个答案:

答案 0 :(得分:6)

答案 1 :(得分:2)

尝试

<a[^>]+>(.*?)</a>

答案 2 :(得分:0)

已经在StackOverflow上已经讨论了几十次(在其他论坛上已经有数千次),但显然仍然需要重复:它无法完成

正则表达式只能解析常规语言。 HTML 不是常规语言。证明你不能用正则表达式解析HTML是一个定期(双关语)的家庭作业任务几乎在这个星球上的每个学院和大学。它已被成千上万的人证实。它与任何数学证明一样可以防水。这是一个非常简短,非常简单,非常平易近人的证据。任何人都无法在其中找到隐藏的缺陷,因为证据非常简单和小,以至于无法隐藏任何隐藏的缺陷。

哦,我提到它无法完成

这不是旅行商问题,需要很长时间才能运行。它不是P = NP,我们不知道它是否真实。

这是真的,绝对的,100%的,积极的,完全的,可证明是不可能的。

我忘记了。我是否已经提到无法完成