用于删除复杂html标记的正则表达式

时间:2016-05-10 04:52:30

标签: c# .net regex html-parsing

我正在使用正则表达式来检索html页面的文本。我使用这个正则表达式消除了html标签:

<[^>]+>

问题是这个正则表达式在这样的html标签上无法正常工作:

<input type="button" onclick="if (a > b) do_somthing();">

此正则表达式将与<input type="button" onclick="if (a >匹配,b) do_somthing();">将保留。

我应该使用哪个正则表达式来匹配此标记?

2 个答案:

答案 0 :(得分:1)

更好和正确的方法是使用HTML Parser(如敏捷HTML包)来解析HTML并根据您的要求使用。使用REGEX解析HTML很难,容易出错。

了解详情:http://www.mikesdotnetting.com/article/273/using-the-htmlagilitypack-to-parse-html-in-asp-net

答案 1 :(得分:1)

如上所述阅读以下链接,为什么正则表达式不适用于HTML - &gt; Don't use regex for HTML

正如评论中所建议的,使用C#HTML解析器,例如CsQuery