用于删除复杂 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.
我正在使用正则表达式检索 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.