正则表达式替换多个新行

Dee*_*ons 8 c# regex

在C#中,我如何指定正则表达式来替换多个组.例如,我想替换其中一个实例\r\n\r\r环境换行符的多个实例.我逻辑上写了这个正则表达式,但我知道这是错误的.请更正并解释它是如何工作的.

System.Text.RegularExpressions.Regex.Replace(task.Message, @"(\r\n){2,}(\r\r){2,}", System.Environment.NewLine);
Run Code Online (Sandbox Code Playgroud)

输入文本

Stackoverflow

StackExchange

User Experience
Run Code Online (Sandbox Code Playgroud)

每条线可以用\r\n或分开\r\r.正则表达式替换后的预期结果如下

Stackoverflow    
StackExchange    
User Experience
Run Code Online (Sandbox Code Playgroud)

Wik*_*żew 10

的一点是,您正则表达式匹配的序列\r\n(2个或更多),然后2个或更多序列\r\r.你需要

[\r\n]+
Run Code Online (Sandbox Code Playgroud)

或者,[\r\n]{2,}如果您只需要匹配2次或更多次出现的\r\n.

如果您需要精确匹配2个或更多常见换行符类型(\r\n在Windows,\nUnix/Linux和\rMac OS中),请使用

(?:\r?\n|\r){2,}
Run Code Online (Sandbox Code Playgroud)