C# 使用正则表达式替换两个字符串之间的多个匹配

C# 使用正则表达式替换两个字符串之间的多个匹配,c#,regex,C#,Regex,我想执行一个Regex.Replace(),以除去ul和/ul标记之间的所有\r\n。现在我和下一个家伙一样喜欢写正则表达式,但我一辈子都想不出正确的使用模式。有人知道我需要什么模式来匹配使用RegEx的两个标记之间的/r/n的所有实例吗 这是我用来显示项目符号的注释,这里有一些示例\r\n\r\n一些内容\r\n一些其他内容\r\n 实现这一点的方法可能是使用纯正则表达式,但有一种选择是使用正则表达式和自定义匹配计算器: value = Regex.Replace(value, "<ul

我想执行一个
Regex.Replace()
,以除去
ul
/ul
标记之间的所有
\r\n
。现在我和下一个家伙一样喜欢写正则表达式,但我一辈子都想不出正确的使用模式。有人知道我需要什么模式来匹配使用RegEx的两个标记之间的
/r/n
的所有实例吗

这是我用来显示项目符号的注释,这里有一些示例\r\n
    \r\n
  • 一些内容
  • \r\n
  • 一些其他内容
  • \r\n

实现这一点的方法可能是使用纯正则表达式,但有一种选择是使用正则表达式和自定义匹配计算器:

value = Regex.Replace(value, "<ul>.*?</ul>", (match) =>
    {
        return match.Value.Replace("\r\n", "");
    }, RegexOptions.Singleline);
value=Regex.Replace(值,
    *?
,(匹配)=> { 返回match.Value.Replace(“\r\n”,”); },RegexOptions.Singleline);

作为一个侧重点:一旦你开始考虑解析HTML片段,你就应该考虑使用。它并不总是必需的,但当您的需求越来越复杂时,它可以省去麻烦。

字符串是否包含新行,或者它是否确实包含字符串
\r\n
?新行。它完全按照上面的印刷品储存,几乎是我喜欢你的风格的复制品。我尝试了类似的方法,但似乎单线选项是关键。谢谢我的朋友,你让我的生活更轻松了
value = Regex.Replace(value, "<ul>.*?</ul>", (match) =>
    {
        return match.Value.Replace("\r\n", "");
    }, RegexOptions.Singleline);