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

Regex for removing complex html tags

我正在使用正则表达式检索 html 页的文本。我正在使用此正则表达式消除 html 标签:

<[^>]+>

问题是此正则表达式无法在 html 标签上正常工作,如下所示:

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

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

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

实现此目标的更好和正确的方法是使用 HTML 解析器(如敏捷 HTML 包)解析您的 HTML 并根据您的要求使用。使用 REGEX 解析 HTML 很难,而且容易出错。

阅读更多:http://www.mikesdotnetting.com/article/273/using-the-htmlagilitypack-to-parse-html-in-asp-net

如上所述阅读以下内容 link 为什么正则表达式在 HTML 上不起作用 -> Don't use regex for HTML.

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