c# - 使用正则表达式 C# 去除除 <b> 之外的 html 标签

标签 c# regex html-parsing

我想删除所有 html 但保留 <b>使用正则表达式的标签。有没有更好的方法来代替

  1. 替换<b>带有非 html 标签,如 $b$
  2. 使用 <[^>]*> 删除所有 html 标签
  3. 将 $b$ 替换为 <b>

最佳答案

下面是一种只允许打开和关闭的方法 b标签。任何其他标签都将被删除。

var teststring = "Test <b>test</b> lorem <i>ipsum</i>";
var pattern = @"(?!</?b>)<.*?>"; // assuming open and closing tags are retained
Console.WriteLine(Regex.Replace
       (teststring,
         pattern,
         String.Empty,
         RegexOptions.Multiline));

输出:Test <b>test</b> lorem ipsum

关于c# - 使用正则表达式 C# 去除除 <b> 之外的 html 标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16311520/

相关文章:

用于解析引用参数的 Java RegEx

javascript - 正则表达式错误 : The Expression took longer than 250ms to execute

带有变量的PHP简单html dom解析器div id

java - 如何在第二个点java之后找到第一个字符

.net - 如何从 .Net 中的许多 HTML 文件中读取 xpath 值?

python - 使用 re.sub 的更好方法

c# - 如何使用我自己的自定义设计来自定义 swagger UI

c# - 执行 javascript 时,Watin 集成测试因 System.UnauthorizedAccessException 而失败

c# - Aspnet_regiis 会加密存储在外部配置文件中的连接字符串信息吗?

c# - 将参数传递给 cmd.exe