【发布时间】:2013-03-04 13:32:03
【问题描述】:
我使用 Notepad++,我需要删除所有以“abc”开头的行。
注意,我不需要用空行替换以“abc”开头的行,但我需要将这些行完全删除。
我该如何进行(我想是使用正则表达式)?
【问题讨论】:
我使用 Notepad++,我需要删除所有以“abc”开头的行。
注意,我不需要用空行替换以“abc”开头的行,但我需要将这些行完全删除。
我该如何进行(我想是使用正则表达式)?
【问题讨论】:
尝试替换
^abc.*(\r?\n)?
与
nothing
^ 表示一行的开始。
. 表示通配符。
.* 表示零个或多个通配符。
x? 表示x 是可选的。
\r?\n 涵盖 \r\n(通常是 Windows)和 \n(通常是 Unix),但必须是可选的以涵盖最后一行。
【讨论】:
搜索这个正则表达式
^abc.*\r\n
什么都没有。
【讨论】:
在 Notepad++ 中搜索更多关于正则表达式的内容,我发现换行符不是 \n,正如我所期望的 (Windows),而是 \n\r。
所以,我的正则表达式替换表达式应该是:
查找: abc.*\r\n
替换为:(无,空字段)
【讨论】:
在“查找和替换”->“替换”中尝试正则表达式 \nabc.*
将“替换为”字段留空。
编辑:这不适用于 first like(因为 '\n' 表示“新行”)
【讨论】:
按 Ctrl+H 调出Replace 窗口。放
^abc.*(\r?\n)?
在Find what 中并将Replace with 留空。选择Reqular expression 并点击Replace All。
这个正则表达式处理所有的边缘情况:
abc开头时
abc 开头并且文件末尾没有新行时。【讨论】: