【发布时间】:2013-05-01 01:36:42
【问题描述】:
我想去除所有的 html,但使用正则表达式保留 <b> 标签。有没有更好的方法来代替
- 将
<b>替换为$b$ 等非html 标记 - 使用
<[^>]*>删除所有html标签 - 将 $b$ 替换为
<b>
【问题讨论】:
-
正则表达式并不是解析 html/xml 的最佳选择。查看XmlDocument,您可以使用 XPath 解析它的元素并更轻松地实现您的目标。
-
@Jean,虽然正则表达式对于嵌套结构并不理想,但如果 OP 不关心嵌套(并且只关心
<b>标记而不管嵌套级别如何),那么正则表达式就可以正常工作。 (还有大多数 HTML——尤其是 HTML5 html——不是 有效的 XML。例如,<br>是完全合法但无效的 xml) -
是的。我没有任何其他构造。我只想剥离除 b 标记之外的所有内容。我只是在做这个小 html sn-p(1000 个字符)
标签: c# regex html-parsing