[英]Delete all lines starting with # or ; in Notepad++
使用 Notepad++,如何刪除所有以# 或;開頭的行?
找:
^[#;].*
什么都不替換。 ^
表示一行的開頭, [#;]
是一個匹配#
或;
的字符類;
和.*
匹配行中的任何其他內容。
在6.0之前的Notepad ++版本中,由於其正則表達式引擎的限制,您將無法實際刪除這些行; 替換結果為每行匹配的空行。 換句話說,這個:
# foo ; bar statement;
將變成:
statement;
但是,如果將\\r
, \\n
或\\r\\n
到模式的末尾,則替換將在Notepad ++ 6.0中有效,具體取決於文件的結尾行,從而導致:
statement;
正如其他人所說,在Notepad ++ 6.0及更高版本中,可以使用“替換”功能刪除所有以“;”開頭的行。 要么 ”#”。
Tao提供了一個正則表達式作為起點,但它沒有考慮可能存在於“;”之前的空白區域。 或給定行上的“#”字符。 例如,以“;”開頭的行 當使用Tao的正則表達式^(#|;).*\\r\\n
時,不會刪除“#”但是“tabbed-in”。
Tao的正則表達式並沒有解釋BoltClock的答案中提到的警告:系統中換行符的差異。
改進是使用^(\\s)*(#|;).*(\\r\\n|\\r|\\n)?
,它解釋了前導空格和換行符的差異。 還有,尾隨?
處理文件的最后一行以#
或;
開頭的情況;
,但不以換行結束。
對於好奇,可以辨別在給定文檔中使用哪種類型的換行符(並且可以使用多種類型):查看 - >顯示符號 - >顯示行尾。
它可能,但不是直接的。
簡而言之,轉到搜索,使用正則表達式,選中“標記行”並單擊“查找全部”。 它會為所有這些行生成書簽。
在搜索菜單中有一個點“刪除書簽行”瞧。
我在這里找到了答案(正確的答案是第二個,不是被接受的!): 如何刪除Notepad ++上的特定行?
也許你應該試試
^[#;].*$
^
匹配開始, $
結束。
在Notepad ++中,您可以使用“查找”對話框中的“標記”選項卡為與查詢匹配的所有行添加書簽,這些行可以是正則表達式或普通卡(通配符)。
然后使用“搜索”>“書簽”>“刪除書簽行”。
.*?[#;].*?\r\n
替換為無
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.