2

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

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

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

INFO 9329 21 June 2008
ERROR 3832 21 June 2008

UltraEdit 有这个功能,但那是一个商业产品。查了Notepad++、CrimsonEdit等,没有找到跨行查找替换。

4

2 回答 2

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
于 2009-03-15T14:37:38.693 回答
0

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

于 2009-04-22T06:47:12.030 回答