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

本文关键字:结束 正则表达式 何编写 | 更新日期: 2023-09-27 18:24:12

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

结转余额170806.80 3558.48 167248.32''r''n <some other text>''r''n

结果文本应为

<some other text>''r''n

我使用下面的regex尝试了Regex.Replace(body, _regex, "",RegexOptions.Singleline),但它与字符串末尾的匹配,''r''n正文为空。

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中的任何一个。

如果'R无法识别,请使用:

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