在文本编辑器中进行跨线正则表达式搜索和替换

时间:2009-03-15 13:54:36

标签: regex text-editor

我正在寻找一个开源文本编辑器,它允许跨行正则表达式搜索和替换。

因此,例如将\ n替换为\ n ------------------- \ n,因此在行之间引入虚线。

或者我可以搜索08 \ nERROR并找到

INFO 9329 21 June 2008
ERROR 3832 21 June 2008

UltraEdit具有此功能,但这是一种商业产品。我检查了Notepad ++,CrimsonEdit等,并没有找到跨行搜索和替换。

2 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:0)

在撰写本文时,Notepad ++不支持此功能 - 但最新版本现在支持!