Notepad++正则表达式查找并删除一行

62

我正在尝试使用Notepad++查找和删除一行。

我需要在这个文件(UNIX格式)中查找与字符串'#RedirectMatch Permanent'匹配的行,并删除该行。

有人知道如何使用Notepad++查找和替换吗?

谢谢和问候,

5个回答

77

第一步

  • 搜索查找 →(转到标签)标记
  • 查找内容:^Session.*$
  • 勾选书签行复选框
  • 勾选正则表达式复选框(在搜索模式下)
  • 单击全部标记(这会查找正则表达式并突出显示所有行,并将其加上书签)

第二步

  • 搜索书签删除有书签的行

2
欢迎来到本网站 - 在未得到答案之前,请不要真正发布答案。我已经删除了您帖子中的非答案部分。 - BoltClock

33

如果它支持标准正则表达式……

find:
^.*#RedirectMatch Permanent.*$

replace:
用空值替换。

11
这会清除该行(只留下一个换行符),但不会删除它。下面的答案会同时删除该行。 - Gnubie
25
通过在 $ 后面添加 "\r?\n"(不包括引号),您可以获得“删除该行以及换行符”的效果-这样搜索将匹配该行以及后面的换行符(CRLF或LF),因此当您用空字符串替换时,该行将被删除。 - James Manning
@JamesManning所说的大概是这样的^.*#RedirectMatch Permanent.*$\r?\n,然后替换为空。但请确保在替换选项卡中检查正则表达式的搜索模式。 - Gauthaman Sahadevan

21
在搜索对话框中提供以下内容:

查找: ^$\r\n
替换为: (保留为空)

点击全部替换

2
不要忘记将搜索模式(在搜索对话框中)更改为正则表达式 - António Almeida
10
请注意,并非所有行都以\r\n结尾,有时它只以\n结尾。因此更好的正则表达式应该是 ^$\r?\n - Michaël Benjamin Saerens
那样不行,它会把这一行变为空白而不是删除它。 - Bozhidar Stoyneff

9

将所有答案中最好的内容结合起来

在此输入图片描述


5

使用“替换全部”功能,您可以通过在模式结尾处使用以下内容之一直接删除一行:

  • 如果您的文件具有Linux(LF)行结束符: $\n?
  • 如果您的文件具有Windows(CRLF)行结束符: $(\r\n)?

例如,在您的情况下:

.*#RedirectMatch Permanent.*$\n?

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