正则表达式用\ r \ n替换\ r后面没有后跟\ n的所有实例

时间:2017-01-02 07:51:24

标签: c# regex string replace

如果使用正则表达式\r \r\n后面没有\r,我怎么能用\n替换\r

问题

我在Windows上创建了一个文本编辑器时出现问题,因为换行符被添加为\ r \ n。因此,当我在记事本中打开文件时,它们不会被读作换行符。

我尝试了什么

我已经尝试到处寻找(google,stackoverflow等),但是我一直无法找到特别的内容。

到目前为止我尝试过的所有内容都是在第一次时间之后完成的,但它会不必要地替换\n,即使它们后跟{{1} }}

供参考,这是表达式:

"\r(?!^\n)", "\r\n"

1 个答案:

答案 0 :(得分:5)

您需要使用

\r(?!\n)

也就是说,从^表达式中删除{/ 1}}字符串/行修饰符的开头。 \r(?!^\n)将匹配回车符,如果在其右侧有一个LF,则\r将使匹配失败。

A C# demo:

(?!\n)