我如何使用正则表达式将HTML解析为纯文本

时间:2009-06-12 09:03:10

标签: .net regex

我如何使用正则表达式来解析以下内容:

<b>HelloWorld</b>
<p>This is a test</p>
<a href="myUrl">Google</a>

需要删除所有html标记,并从超链接标记中提取网址,结果应为:

HelloWorld
This is a test
myUrl

2 个答案:

答案 0 :(得分:8)

我知道这不是您期望的答案,但您不应该尝试使用正则表达式解析HTML。 HTML是通过正则表达式解析复杂的方法,有各种各样的东西可能出错。编写一个可靠地解析HTML的正则表达式非常困难,我甚至不确定它是否可行。

对.NET使用类似Beautiful SoupHTML Agility Pack的内容。或者您可以使用解析器生成器创建自己的解析器。

答案 1 :(得分:1)

您应该使用解析器。正则表达式不会这样做。你可能使用递归正则表达式模式,但我认为它们不受.NET正则表达式引擎的支持。