正则表达式:替换换行符,除了带点的换行符

时间:2015-07-17 18:28:18

标签: regex replace notepad++ newline

提前感谢您提供的任何帮助

我有这样的文字:

.First()

我想替换所有新行,除了那些有点作为最后一个字符的行。

这就是我想要的:

Bla bla bla bl[CR][LF]
a bla bla bla[CR][LF]
bla bla.[CR][LF]
Bla bla bla bla bl[CR][LF]
...and so on

我尝试使用Notepad,它支持RegEx,使用Search&替换选项卡(Ctrl + H)。那是代码:

Bla bla bla bla bla bla bla bla bla.[CR][LF]
Bla bla bla bla bla.[CR][LF]
...and so on

它有效,但它会截断每一行的最后一个字符。

Search:   [^.\r\n]\r\n
Replace field had just a space.

由于我是RegEx新手,这是最好的方法吗?

1 个答案:

答案 0 :(得分:0)

在搜索字段中使用此正则表达式:(?<!\.)\r\n。这意味着找到没有\r\n之前的任何.

您的正则表达式意味着找到任何三个字符,其中第一个字符不是. \r\n,最后两个字符是\r\n。但是当你去替换时,它也取代了第一个角色。我发布的正则表达式将非句点的检查作为零长度,因此它不会替换该字符。