C# 如何编写正则表达式以匹配首个出现的结束词

C# 如何编写正则表达式以匹配首个出现的结束词,c#,regex,C#,Regex,我需要删除以下文本中以余额结转开始的行 结转余额170806.80 3558.48 167248.32\r\n\r\n 结果文本应为 \r\n 我尝试使用Regex.Replacebody、\u Regex、RegexOptions.Singleline使用bellow Regex,但它与字符串末尾的\r\n匹配,而body为空 Balance carried forward.*[\r\n|\r|\n] 请尝试以下模式: ^Balance carried forward[^\r\n]*(?:\

我需要删除以下文本中以余额结转开始的行

结转余额170806.80 3558.48 167248.32\r\n\r\n

结果文本应为

\r\n

我尝试使用Regex.Replacebody、\u Regex、RegexOptions.Singleline使用bellow Regex,但它与字符串末尾的\r\n匹配,而body为空

Balance carried forward.*[\r\n|\r|\n]

请尝试以下模式:

^Balance carried forward[^\r\n]*(?:\r\n|\r|\n)
说明:

^ // match at the start of a line
Balance carried forward
[^\r\n]* // match anything that's not a newline
(?:\r\n|\r|\n) // finally, match a newline
我会:

^Balance carried forward.*?\R
其中\R代表\n\R或\R\n中的任何一个

如果无法识别,请使用:

^Balance carried forward.*?[\r\n]+

你能不能不使用类似的方法,因为我的方法更通用,所以发布拆分对我来说不是一个选项。字符串将遍历一组正则表达式。是否可以遍历该字符串,直到找到第一个\r\n实例,并使用该索引执行适当的操作?不一定是您想要的,但它可能是另一种解决方案。由于某些原因,\R在C中没有得到认可