Удалить строку, содержащую определенное слово, а также предыдущую строку в Notepad ++ - PullRequest
0 голосов
/ 22 июня 2019

Я хотел бы получить код, который удаляет каждую строку, содержащую строку /movie/ и предыдущую строку (символ / включен в /movie/).

Пример:

До кода:

#EXTINF:-1,Wreck-It Ralph
http://p5.giffy.be:8080/movie/RghyHCIE4i/SDrQatrZkx/104880.mp4
#EXTINF:-1,Wrinkle-Free
http://p5.giffy.be:8080/movie/RghyHCIE4i/SDrQatrZkx/105060.mp4
#EXTINF:-1,DR | TELEMICRO 5
http://p5.giffy.be:8080/RghyHCIE4i/SDrQatrZkx/99633
#EXTINF:-1,Wrong Mistake - Short Movie
http://p5.giffy.be:8080/movie/RghyHCIE4i/SDrQatrZkx/106840.mp4
#EXTINF:-1,DR | TELESISTEMA 11
http://p5.giffy.be:8080/RghyHCIE4i/SDrQatrZkx/99632
#EXTINF:-1,Wreck-It
http://p5.giffy.be:8080/movie/RghyHCIE4i/SDrQatrZkx/104707.mp4
#EXTINF:-1,DR | TELEUNIVERSO
http://p5.giffy.be:8080/RghyHCIE4i/SDrQatrZkx/99631

После кода:

#EXTINF:-1,DR | TELEMICRO 5
http://p5.giffy.be:8080/RghyHCIE4i/SDrQatrZkx/99633
#EXTINF:-1,DR | TELESISTEMA 11
http://p5.giffy.be:8080/RghyHCIE4i/SDrQatrZkx/99632
#EXTINF:-1,DR | TELEUNIVERSO
http://p5.giffy.be:8080/RghyHCIE4i/SDrQatrZkx/99631

Ответы [ 2 ]

1 голос
/ 22 июня 2019

Другим вариантом является сопоставление первой строки и совпадение с новой строкой Юникода \R.Затем сопоставьте вторую строку с /movie/ и в конце сопоставления \R

Найдите, что:

^.*\R.*/movie/.*\R

Это будет соответствовать

  • ^ Начало строки
  • .* Соответствие 0+ раз любому символу, кроме новой строки
  • \R Соответствие последовательности новой строки в Unicode
  • .*/movie/.* Соответствие /movie/ в строке
  • \R Соответствует юникоду новой строки

Заменить на:

Оставьте пустым

Regex demo

1 голос
/ 22 июня 2019

Вы можете использовать следующее регулярное выражение:

^.*?\r\n.*?\/movie\/.*?(\r\n|$)

Шаг за шагом:

  1. Открыть поиск и заменить на Ctrl + h .
  2. Нажмите Alt + f , чтобы сосредоточиться на Find what.
  3. Введите приведенное выше регулярное выражение.
  4. Нажмите Alt + g , чтобы включить режим регулярного выражения. Убедитесь, что ". Соответствует символу новой строки" выключен.
  5. Нажмите Alt + a , чтобы заменить все.

Как это работает:

^  # anchor to beginning of line 
 .*?  # lazily match zero or more characters
    \r\n  # match carriage return and line feed
        .*?  # lazily match zero or more characters
           \/movie\/  # match literal /movie/
                    .*?  # lazily match zero or more characters
                       (\r\n|$)  # match carriage return and line feed or EOL
...