NP ++:清除所有不包含某个字符串的行

时间:2014-03-26 11:06:59

标签: regex notepad++

如何在NP ++中找到一行,其中不包含字符串(例如)

  

玛格%233!_

我试过

  

。* [^(玛格%233!_)]。* \ r

但这似乎不对。

2 个答案:

答案 0 :(得分:2)

你想使用一个负向前瞻,如果内部匹配的话,这将使整个正则表达式失败:

^(?!.*marg%233!_).*\r?

并用空字符串替换这些匹配。

最终?是捕获文件的最后一行,这假设您的换行符是\r。如果不是,您可以使用([\n\r]|\r\n|\n\r)替换最后一个字符。

[^...]是一个否定字符类,它将匹配任何字符(并且只有一个字符,如[...]所有),而包含在类中。

答案 1 :(得分:1)

有一种简单的方法可以实现这一目标。您需要执行两个步骤。

  1. 转到“搜索”菜单>查找...>选择" Mark"标签。搜索marg%233!_。别忘了检查" Bookmark lines"并按"全部标记"

    ==>您要保留的所有行都有书签

  2. 转到菜单"搜索 - 书签 - 删除未标记的行"

    ==>所有没有书签的行都将被删除。