正则表达式:用点替换换行符
Regex: replace newline except the ones with a dot
在此先感谢您提供的任何帮助
我有这样的文字:
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
我想替换所有新行,但最后一个字符为点的行除外。
这就是我想要的:
Bla bla bla bla bla bla bla bla bla.[CR][LF]
Bla bla bla bla bla.[CR][LF]
...and so on
我尝试使用支持 RegEx 的 Notepad++,使用“搜索和替换”选项卡 (Ctrl+H)。那是代码:
Search: [^.\r\n]\r\n
Replace field had just a space.
它起作用了,但是它截断了每一行的最后一个字符。
Bla bla bla bla bla bla bla bla bl.[CR][LF]
Bla bla bla bla bl.[CR][LF]
由于我是 RegEx 新手,哪种方法最好?
在搜索字段中使用此正则表达式:(?<!\.)\r\n
。这意味着找到前面没有 .
.
的任何 \r\n
你的正则表达式意味着找到任何三个字符,其中第一个不是 .
\r
或 \n
,最后两个是 \r\n
。但是当你去替换时,它也会替换第一个字符。我发布的正则表达式将非句号检查为零长度,因此它不会替换该字符。
在此先感谢您提供的任何帮助
我有这样的文字:
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
我想替换所有新行,但最后一个字符为点的行除外。
这就是我想要的:
Bla bla bla bla bla bla bla bla bla.[CR][LF]
Bla bla bla bla bla.[CR][LF]
...and so on
我尝试使用支持 RegEx 的 Notepad++,使用“搜索和替换”选项卡 (Ctrl+H)。那是代码:
Search: [^.\r\n]\r\n
Replace field had just a space.
它起作用了,但是它截断了每一行的最后一个字符。
Bla bla bla bla bla bla bla bla bl.[CR][LF]
Bla bla bla bla bl.[CR][LF]
由于我是 RegEx 新手,哪种方法最好?
在搜索字段中使用此正则表达式:(?<!\.)\r\n
。这意味着找到前面没有 .
.
\r\n
你的正则表达式意味着找到任何三个字符,其中第一个不是 .
\r
或 \n
,最后两个是 \r\n
。但是当你去替换时,它也会替换第一个字符。我发布的正则表达式将非句号检查为零长度,因此它不会替换该字符。