Bol*_*ock 108
找:
^[#;].*
Run Code Online (Sandbox Code Playgroud)
什么都不替换.该^
指示线的开始,[#;]
是一个字符类要匹配#
或;
和.*
匹配任何在该行其他.
在6.0之前的Notepad ++版本中,由于其正则表达式引擎的限制,您将无法实际删除这些行; 替换结果为每行匹配的空行.换句话说,这个:
# foo ; bar statement;
将变成:
statement;
但是,如果添加\r
,\n
或者\r\n
在模式的末尾,替换将在Notepad ++ 6.0中使用,具体取决于文件的结尾行,从而导致:
statement;
它可能,但不是直接的.
简而言之,转到搜索,使用正则表达式,选中"标记行"并单击"查找全部".它会为所有这些行生成书签.
在搜索菜单中有一个点"删除书签行"瞧.
我在这里找到了答案(正确的答案是第二个,不是被接受的!): 如何删除Notepad ++上的特定行?
正如其他人所说,在Notepad ++ 6.0及更高版本中,可以使用"替换"功能删除所有以";"开头的行.要么 "#".
Tao提供了一个正则表达式作为起点,但它没有考虑可能存在于";"之前的空白区域.或给定行上的"#"字符.例如,以";"开头的行 使用Tao的正则表达式时,不会删除"#"但"tabbed-in" ^(#|;).*\r\n
.
Tao的正则表达式并没有解释BoltClock的答案中提到的警告:系统中换行符的差异.
一个改进是使用^(\s)*(#|;).*(\r\n|\r|\n)?
,它考虑了领先的空白和换行符的差异.此外,尾随?
处理文件的最后一行以#
或;
但不以换行符结尾的情况.
对于好奇,可以辨别在给定文档中使用哪种类型的换行符(并且可以使用多种类型):查看 - >显示符号 - >显示行尾.