使用正则表达式替换2个字符串之间的多个匹配项

时间:2016-07-13 20:42:08

标签: c# regex

我想Regex.Replace()删除\r\nul标记之间的所有/ul。现在我喜欢和下一个人一样写 RegEx ,但我不能为我的生活找出正确的模式。任何人都知道我需要使用 RegEx来匹配两个标签之间/r/n的所有实例所需的模式吗?

This is a note&nbsp;I am using to display bullets&nbsp;here are some examples\r\n<ul>\r\n<li>somethign</li>\r\n<li>somthing else</li>\r\n</ul>

1 个答案:

答案 0 :(得分:1)

可能有一种方法可以实现这个纯正则表达式,但是一个选项是使用正则表达式和自定义匹配评估器:

value = Regex.Replace(value, "<ul>.*?</ul>", (match) =>
    {
        return match.Value.Replace("\r\n", "");
    }, RegexOptions.Singleline);

作为一个侧面点:一旦开始考虑解析HTML片段,就应该考虑使用HtmlAgilityPack。它并不总是必要的,但它可以在您获得越来越复杂的要求时节省麻烦。