在Notepad++中查找和替换空行的正则表达式

13
我在使用Notepad++,想要使用正则表达式查找所有不包含文本的空行。我知道可以通过使用'textfx'来更简单地实现这一点,但我想要一个匹配模式。下面是一个带有符号的示例。
< ?php **CRLF**
**CRLF**                        *<- REMOVE THIS* 
$xxx = $_POST['xxx'];**CRLF**
$xxx = $_POST['xxx'];**CRLF**
$xxx = $_POST['xxx'];**CRLF**
**CRLF**                        *<- REMOVE THIS* 
**CRLF**                        *<- REMOVE THIS* 
if ($xxx)**CRLF**
{**CRLF**
6个回答

25

并不是正则表达式,但Notepad++ 6.3.2有多种方法可以删除空白行而不使用正则表达式。

菜单 => 编辑 => 行操作 => 删除空行

菜单 => 编辑 => 行操作 => 删除空行(包含空白字符)

菜单 => TextFx => TextFx 编辑 => 删除空白行

菜单 => TextFx => TextFx 编辑 => 删除多余的空白行

这两个 TextFx 方法仅删除空行,但是它们可以先与以下任意一个一起使用:

菜单 => 编辑 => 空白操作 => 修剪尾随空格

菜单 => TextFx => TextFx 编辑 => 修剪尾随空格


非常有帮助,谢谢! - Coreus
2
可能这正是他想要的,但这并没有回答问题。 - searchengine27

9
我只能通过使用“替换”对话框中的“扩展”搜索模式(而不是“正则表达式”模式)来实现这一点。
我使用的搜索词是\r\n\r\n,并将其替换为\r\n。您必须重复此操作,直到没有更改为止,如果可能有更多连续的换行符。
我也希望Notepad++中有更好的RegEx引擎,能够进行多行搜索。

好的,谢谢您的快速回复。但是当我使用 \r\n 并替换为空时,所有的代码都会移动到一行,有什么解决办法吗? - keith Fesed
@keith - 对不起,我已经编辑了我的帖子 - 你需要查找两个连续的换行符并将它们替换为一个。 - Justin
如果您先执行了“修剪尾随并保存”操作,那么这很好。否则,空格会破坏它。 - mckenzm

9
我刚刚使用“查找 ^\r\n 并替换为空”命令。

4

可以实现,但不是直接的方法。

简单来说,前往搜索,使用正则表达式^$进行搜索,在“标记行”中勾选(在当前版本中,搜索对话框中有一个单独的标记选项卡),然后点击“查找所有”。这将为所有这些行创建书签。

在搜索菜单中有一个“删除已标记行”的选项,就是它了。


0

如果不使用TextFx,我认为你无法做到。我不知道如何告诉Notepad++的查找和替换功能,你想要删除这一行。你可以通过打开正则表达式,在搜索框中输入'^$'(不包括引号)来查找所有这些行。但是你最好能做的只是用空字符串替换它,而不是删除。


0
在记事本v6.2.2中有一个名为Extended的选项(\t\n......)
并且在替换框中,提供\r\n就可以正常工作。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接