先说结论
因为notepad++只有全选,没有反向选择功能。
想要保留匹配的行,我们可以理解为 { 删除 [ 取反 ( 匹配的字符 ) ] }
所以,我们使用CTRL+H打开替换功能,替换空值。
勾选使用正则表达式如下,其中“美国”是可以被替代的:
^(?!.*美国).*$
删除后留下很多空白行,如果想删除空白行。
依次在软件菜单中选择【编辑】->【行操作】->【移除空行(包括空白字符)】
到此结束
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
另外:
如果想在正则表达式中匹配直接删除行,也可以改一下表达式子,但是如果末尾也匹配中删除了,会留下空行,要自行留意是否要删除末尾空行(因为有些shell脚本末行为空会导致恶性问题)。
^(?!.*美国).*$(\r\n)?
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
解释
^代表开头
()代表这是一个子表达式,子表达式意思就是这括号内算一个整体。
(?! )代表反向查找,这是一个固定语法符号,记住就行
.*代表多次任意匹配,常用固定搭配。.代表单个字符,*代表任意次数。连在一起就是多次任意匹配的意思
$代表结尾
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
实操演示
来,我们实操看看,标记看看是不是你要删除的东西。是的话,替换为空就好。