Удалите все строки (не), соответствующие регулярному выражению, используя Блокнот ++

Как удалить все строки, соответствующие или не соответствующие регулярному выражению в Notepad ++?

В Vim я бы сделал следующее, чтобы удалить все совпадающие строки:

:g/regex/d

И удалить все несоответствующие строки:

:!g/regex/d

Я ищу эквивалент этих команд в Notepad ++.

Как и объяснил вБлокнот ++ - удалить все строки с определенным текстом«Я обычно прибегаю к тому, чтобы закрыть соответствующие строки и удалить пустые строки. Есть ли более простой способ?

Согласноэтот ответверсии Notepad ++> = 6.0 поддерживают сопоставление разрывов строк в регулярном выражении, что позволяет напрямую удалять целые строки без предварительного создания пустых строк. Следующий шаблон должен удалить все строки, содержащие «foobar» при замене на пустую строку:

^.*foobar.*\r\n

Теперь, как обсуждалось вРегулярное выражение для соответствия строке, которая не содержит слова?", отрицание регулярных выражений не совсем просто. Для удаления строк в Notepad ++, которые не содержат" foobar ", потребуется следующий шаблон:

^((?!foobar).)*\r\n

Поскольку это довольно сложная команда для ввода только для удаления строк, которые не содержат слово (или, возможно, более сложное выражение), мне интересно, есть ли более простое решение.