可能重复:
Find CRLF in Notepad++
我正在尝试使用notepad ++进行一些简单的正则表达式查找和替换。但是当我尝试使用正则表达式语法换行(\ r \ n)时,我得到了以下错误:
找不到文字:“\ r \ n”
\ r \ n适用于“扩展”搜索和其他文本编辑器,但不适用于正则表达式搜索。
有什么想法吗?
答案 0 :(得分:5)
Notepad ++的正则表达式引擎不支持多行,因此无法匹配换行符。如果你需要查找和替换空白行,你需要使用扩展搜索。从Notepad ++ 6.0开始不再如此,它现在使用PCRE作为其正则表达式引擎并允许多行替换。有关详细信息,请参阅the accepted answer to the duplicate question。
答案 1 :(得分:4)
来自Notepad ++帮助文件:
由于Notepad ++使用了Scintilla正则表达式引擎,因此它与SciTE相同,因此可以在此处找到完整的正则表达式选项列表(区别在于POSIX模式始终打开,这不是一个选项): http://www.scintilla.org/SciTERegEx.html
来自SciTE docs:
请注意,\ r和\ n永远不会匹配,因为在Scintilla中,正则表达式搜索每行都行(删除了行尾符号)。
答案 2 :(得分:2)
从Notepad ++原始替换选项,“扩展”模式支持\r\n
,因此您只需将每个换行符替换为从未出现的唯一短字符串你的文件,例如abcdefg
,制作一个巨大的一行字符串。然后,您可以在“Regex”模式下执行正则表达式替换作业,尝试保留唯一标记字符串,使用“Extend”模式替换\r\n
,完成,不方便,愚蠢。