PaN*_*1Me 37 notepad++ find multilinestring
假设你有这个文件:
x
a
b
c
x
x
a
b
c
x
x
Run Code Online (Sandbox Code Playgroud)
你想用Notepad ++ 找到序列abc(并选择整行3行).请问如何在正则表达式中表达换行符?
Rob*_*obb 50
Notepad ++可以很容易地做到这一点,你甚至不需要正则表达式
在查找对话框中查看左下方并将搜索模式切换为扩展,允许\n等.
由于您正在使用Windows格式处理文件,因此您将寻找\ r \n(回车,换行符)
a\r\nb\r\nc
Run Code Online (Sandbox Code Playgroud)
将找到超过三行的模式
dar*_*ioo 32
2012年6月18日更新
使用新的Notepad ++ v6,您确实可以使用正则表达式搜索换行符.所以你可以使用
a\r\nb\r\nc
Run Code Online (Sandbox Code Playgroud)
即使用正则表达式来完成你想要的东西.注意\r\n
是换行符的Windows编码.在Unix文件中,它只是\n
.
不幸的是,在使用正则表达式搜索时,你不能在Notepad ++中这样做.Notepad ++基于Scintilla编辑器组件,它不处理正则表达式中的换行符.
您可以使用扩展搜索进行换行搜索,但我认为这不会帮助您搜索3行.
更多信息在这里.
更新:Robb和StartClass0830对扩展搜索是正确的.它确实有效,但在使用正则表达式搜索时却没有.
^a\x0D\x0Ab\x0D\x0Ac
Run Code Online (Sandbox Code Playgroud)
这将工作\ x0D是换行符,\ x0A是回车符.假设您文件中的每一行都以ascii 10和13结尾.
我找到了一个解决方法。简单地说,在扩展模式下,将所有内容替换\r\n
为文档其余部分不存在的字符串,例如。,,,newline,,,
(注意特殊的正则表达式字符,如$
, &
, 和*
)。然后切换到 Regexp 模式,做一些替换(现在换行是,,,newline,,,
)。接下来,再次切换到扩展模式并将所有内容替换,,,newline,,,
为\r\n
.