假设您有此文件:

x
a
b
c
x
x
a
b
c
x
x

你想找到 序列ABC (并选择 整个3行)带记事本++。请问如何在Regex中表达新线?

有帮助吗?

解决方案

记事本++可以舒适地做到这一点,您甚至不需要言论

在“查找对话框”中,左下角是在左下方,然后将搜索模式切换到允许 n等。

当您以Windows格式处理文件时,您将寻找 r n(马车返回,newline)

a\r\nb\r\nc

会在三行上找到图案

其他提示

2012年6月18日更新

与新的 记事本++ v6, ,您确实可以使用Regexes搜索新线。所以你可以使用

a\r\nb\r\nc

即使具有正则表达方式来完成您想要的。笔记 \r\n Windows是线断路的编码。在unix文件中,它只是 \n.

不幸的是,使用REGEX搜索时,您无法在NeTepad ++中这样做。 Notepad ++基于Scintilla编辑器组件,该组件不处理Regex中的新线。

您可以使用扩展的搜索Newline搜索,但我认为这不会帮助您搜索3行。

更多信息 这里.

更新:Robb和StartClass0830关于扩展搜索是正确的。它确实有效,但在使用正则表达式搜索时不行。

^a\x0D\x0Ab\x0D\x0Ac

这将有效 x0d是newline, x0a是马车返回。假设文件中的每行以ASCII 10和13结束。

我为此找到了解决方法。简单地,在扩展模式下替换全部 \r\n 对于文档其余部分中不存在的字符串。 ,,,newline,,, (当心特殊的Regexp Chars $, &, , 和 *)。然后切换到RegeXP模式,进行一些替换(现在Newline为 ,,,newline,,,)。接下来,再次切换到扩展模式并替换所有 ,,,newline,,,\r\n.

a\r\nb\r\nc 为我工作,但不为 ^a\x0D\x0Ab\x0D\x0Ac

嗯,太糟糕了,Newline无法使用正则表达式。现在,我必须再次回到Textpad。 :(

在记事本++中,您还可以尝试突出显示文本的所需部分,然后按CTRL+J。

这将证明文本是合理的,从而删除了所有线路结尾。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top