我正在寻找一个允许跨行正则表达式搜索和替换的开源文本编辑器。
因此,例如用 \n-----------------\n 替换 \n ,因此在行之间引入虚线。
或者我可以搜索 08\nERROR 并找到
INFO 9329 21 June 2008
ERROR 3832 21 June 2008
UltraEdit 有这个功能,但那是一个商业产品。查了Notepad++、CrimsonEdit等,没有找到跨行查找替换。
我正在寻找一个允许跨行正则表达式搜索和替换的开源文本编辑器。
因此,例如用 \n-----------------\n 替换 \n ,因此在行之间引入虚线。
或者我可以搜索 08\nERROR 并找到
INFO 9329 21 June 2008
ERROR 3832 21 June 2008
UltraEdit 有这个功能,但那是一个商业产品。查了Notepad++、CrimsonEdit等,没有找到跨行查找替换。
Vim 知道如何做到这一点。
例如,如果您有:
if (a) {
x++;
} else {
x--;
}
然后搜索/;\n.*else
会发现这个:
;
} else
并执行此替换::s/;\n\(.*else\)/;\r//----\r\1/
将执行以下操作:
if (a) {
x++;
----
} else {
x--;
}
(请注意,我搜索了换行符,\n
但必须\r
在替换字段中使用)
当然,这也适用于您的示例:
搜索08\nERROR
并找到:
08
ERROR
在撰写本文时,Notepad++ 不支持此功能——但现在最新版本支持!