Как использовать Negative Lookahead в Regex для удаления нежелательных строк

Мне нужна помощь в использовании отрицательного вида. Я использую Notepad ++ и хочу удалить все строки, кроме строк, содержащих <title>(.*)</title>

Я попробовал пару вещей, но это не сработало.

^.*(?!<title>).*</title>
^.*(?!<title>.*</title>)

Ответ 1

Вы близко:

^(?!.*<title>.*</title>).*

При этом регулярном выражении ^.*(?!<title>.*</title>) механизм regex просто найдет какую-то позицию, в которой он не сможет найти <title>.*</title> (конец строки является одной из таких допустимых позиций).

Вам нужно убедиться, что с начала строки вы не можете найти <title>.*</title> в любом месте строки. Это то, что делает мое регулярное выражение.