[英]Delete all lines (not) matching a regex using Notepad++
如何在Notepad ++中刪除所有匹配或不匹配正則表達式的行?
在Vim中,我會執行以下操作來刪除所有匹配的行:
:g/regex/d
並刪除所有不匹配的行:
:!g/regex/d
我在Notepad ++中尋找這些命令。
正如在“ Notepad ++ - 刪除具有特定文本的所有行 ”中所解釋的那樣,我通常會采用消隱匹配行並刪除空行的方法。 有更簡單的方法嗎?
根據這個答案 ,Notepad ++> = 6.0的版本支持正則表達式中的匹配換行符,因此允許直接刪除整行而不首先創建空行。 當替換為空字符串時,以下模式應刪除包含“foobar”的所有行:
^.*foobar.*\r\n
現在,正如“ 正則表達式匹配不包含單詞的行? ”中所討論的那樣,否定正則表達式並不是很簡單。 刪除Notepad ++中不包含“foobar”的行將需要以下模式:
^((?!foobar).)*\r\n
因為這是一個非常復雜的命令,只是為了刪除不包含單詞的行(或者可能是更復雜的表達式),我想知道是否有更簡單的解決方案。
在“ Find
對話框的“ Mark
選項卡上,您可以為與之匹配的行添加書簽...然后在菜單上Search > Bookmark > Remove Unmarked Lines
或Remove Bookmarked lines
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.