Регулярные выражения в Notepad++

notepad

Хотя эта статья гордо и названа Регулярные выражения в notepad++, это скорее шпаргалка, для самого себя, а также может быть кому-то ещё, пригодится. Смысл её таков, что иногда мне бывает что-то поменять, добавить или удалить в тексте. Как и всякий ленивый человек, я пытаюсь этот процесс облегчить, ускорить, короче оптимизировать и автоматизировать.

Другими совами, я где-то когда-то узнал про регулярные выражения, попробовал, у меня получилось и мне понравилось. Теперь сталкиваясь с необходимостью указанной в первом абзаце, я начинаю вспоминать, а как я это сделал? Естественно благополучно не вспомнив, начинаю «лопатить» интернет в поисках ответа на свои «хотелки».

Регулярные выражения в Notepad++Основные регулярки

 . — Точка представляет один любой символ

 ^ — Начало строки

 $ — Конец строки

\s — Пробел

\S — Не Пробел

\w — буква, цифра или подчёркивание _

\d — Любая цифра

\D — Любой символ, но не цифра

[0-9] — Любая цифра

[a-z] — Любая буква от a до z (весь латинский набор символов) в нижнем регистре

[A-Z] — Любая буква от a до z в ВЕРХНЕМ регистре

[a-zA-Z] — Любая буква от a до z в любом регистре

[a-Z] — То же самое

* — «Повторитель». Означает, что предшествующий символ может повторяться (0 или более раз)

.* — Абсолютно любой набор символов. Например, условие <p> .*</p> — найдет все что между тегами <p> </p>

(^.*$) — Любой текст между началом и концом строки

([0-9][0-9]*.) — ищет любые двухзначные в данном случае цифры

\n\r — Ищет пустые строки. Вроде как если оставить пустым окно «Заменить» то удаляет пустые строки, но можно поставить вот это \0

^\s*$ — Ищет пустые строки содержащие пробел.

^[ ]*$ — Ищет пустые строки содержащие пробел.

Примеры:

Добавление знаков в начале и конце строки, абзаца

Допустим, необходимо некий текст, скопированный например из ворда, заключить в теги <p></p>

Ставим в «найти» — (^.*$) ищет соответственно начало и конец строки.

Ставим в «заменить на» — \1 и то, что нужно вставить в начало и конец строки, у нас в примере это <p></p>

Выражение будет иметь следующий вид:<p>\1</p>. Как показано на рисунке 1. В дальнейшем нет нужды в рисунках, так они будут идентичны этому, с той лишь разницей, что выражения, там будут другие.

*** Прим. Добавление круглых скобок () в поле найти, обязательно, иначе будет убирать текст.

Добавление знаков в начале или в конце строки, абзаца

Допустим, необходимо некий текст, скопированный например из ворда, заключить в одиночный тег </br> это тег перевода строки, не всегда удобно и нужно оборачивать его в теги <p></p>. Ну я так считаю, возможно и неправильно, но допустим это стих, песня или анекдот, где все строчки короткие и каждая строка новая, мне нравится тут одиночный тег больше.

Для этого в поле «найти» вводим символ $ Конец строки, а в поле «заменить на» вводим нужный нам тег или что то другое, в данном случае тег </br> не забывая добавить \1, то есть выглядит это так — </br>\1 . В данном случае мы только добавляем нужный нам тег, поэтому в круглые скобки в общем то, не нужны, но если поставить, также будет заменять корректно.

Аналогично можно добавлять что-нибудь и в начале строки, заменив в поле найти на символ ^ начала строки, наверное …

Как то возникла у меня необходимость удалить пустые строки в документах, и не только просто пустые но и содержащие пробелы. Всё бы ничего если бы это был один-два файла, есть в Notepad++ в операциях со строками такие функции как «Удалить пустые строки» и «Удалить пустые строки (Содер. символы Пробел)».

Но вот беда, мне нужно было это сделать где-то примерно в 25-28 файлах, и в принципе, это тоже нетрудно. Но, мы, же знаем регулярные выражения, подумал я и решил, процесс облегчить. Итак, суть в том, что в блокноте в «Поиске и Замена» есть кнопочка, «Заменить во всех Открытых документах», вот не неё и была вся моя надежда.

Поискав в интернете, долго ли коротко ли, отовсюду понемножку нашел информацию как это сделать, попробовал – получилось.

Поэтому пишу здесь, чтобы самому не забыть, и быть может другим подсказать.

Удаление пустых строк

В поле «найти» вводим \n\r — ищет пустые строки, вроде как если оставить пустым окно «Заменить» то удаляет пустые строки, но можно поставить вот это \0. Ну а далее всё просто открываем все файлы, которые нам нужно «почистить», вводим символы и жмём «Заменить во всех Открытых документах».

Результат: Во всех открытых документах, пустые строки, не содержащих пробелов удалены.

Удаление пустых строк, содержащих символы пробел

Тут работа происходит в два этапа, сначала удаляем символы Пробел, а потом пустые строки как это сделать указано в пункте 1.

Поэтому если есть и просто пустые строки и строки, содержащие символы Пробел, то рекомендую начать сразу с этого пункта, работы просто меньше, в смысле, сначала очищаем пустые строки от пробелов, а затем удаляем все строки, ведь теперь, хоть их и стало больше но они все «чистые».

В поле «найти» вводим ^[ ]*$ или ^\s*$ — ищет пустые строки содержащие пробел (не знаю, может у кого-то с одним не получится набором, попробуйте с другим), аналогично вроде как, если оставить пустым окно «Заменить» то удаляет пробелы, но можно поставить вот это \0. Ну а далее всё просто открываем все файлы, которые нам нужно «почистить», вводим символы и жмём «Заменить во всех Открытых документах».

Результат: Во всех открытых документах, пустые строки очищены от пробелов.

Для удаления этих строк выполняем действия указанные в пункте 1.

Как удалить всё между двумя словами?

Найти: </description>([\s\S]*?)</offer>
Заменить на: </description></offer>

  • [\s\S] — любой символ, включая переносы строк, табуляцию и тд.;
  • *? — «не жадный» режим — минимальное подходящее совпадение;

Как в Notepad++ удалить все строки содержащие слово

В сети много способов удаления в notepad++ всех строк, содержащих определённое слово. Большинство этих способов используют регулярные выражения, что крайне неудобно. Есть способ проще. Повторюсь, что речь идёт не об удалении просто слова, а всех строк, содержащих определённое слово. Дальше — пошаговая инструкция с картинками.

1. В notepad++ в открытом файле нажимаем Ctrl+f и ищем нужное слово во вкладке «Пометки»:
Удалить все строки в Notepad содержащие определённое слово
2. После этого все строки, содержащие нужное слово, будут помечены. После этого осталось их удалить. Для этого в меню Поиск — Закладки  выбрать пункт «Удалить все строки с закладкой»:

удаление строк notepad по нужному слову

Готово! Проще не придумаешь.

Понравилась статья? Поделить с друзьями:
Комментариев: 8
  1. Влад

    Ребята, привет.
    Помогите с регулярными выражениями в Notepad++
    Нужно в блоке P1-P2

    begin
    text text tetxt123 ttt wd
    P1
    s2. s3. s4.
    S5. S8. s3

    s3 s9 s3
    s6 s7
    P2
    adsd asdfdsfdf text121
    from ae
    qweqwd
    end

    заменить символ s3 на ss

    Спасибо!

  2. Haskin (автор)

    Тут и не требуется использовать регулярные выражения, если я правильно понял задачу. Простой поиск с заменой.

  3. Владимир

    день добрый. Поджскажите пожалуйста

    Есть плейлист

    #EXTINF:-1 group-title=»Украина 3″,НТН
    http:// 91.213.59. 156/play/66/index.m3u8
    #EXTINF:-1 group-title=»Украина 3″,Квартал ТВ
    http:// portal. ott.pink/watch/123/video.m3u8?geo=auto&token=CFEADF9789D77A45B3B359EE168CCCA6
    #EXTINF:-1 group-title=»Украина 3″,Уніaн
    http:// porta l. ott.pink/watch/236/video.m3u8?geo=auto&token=CFEADF9789D77A45B3B359EE168CCCA6
    #EXTINF:-1 group-title=»Украина 3″,УКРАИІНА
    http:// cdn1 .live- tv.od.ua:8081/31chod/31chod-abr/playlist.m3u8
    #EXTINF:-1 group-title=»Украина 3″,366 TV HD
    http:// 91 .213.59.156/play/58/index.m3u8

    Очень большой… список.

    Надо оставить ссылки только с http:// portal .ott.pink/ сохраняя и названия каналов. Вот так

    #EXTINF:-1 group-title=»Украина 3″,Квартал ТВ
    portal .ott.pink/watch/123/video.m3u8
    #EXTINF:-1 group-title=»Украина 3″,Уніaн
    portal .ott.pink/watch/236/video.m3u8

    Как это сделаать в Notepad++

  4. Haskin (автор)

    Попробуйте так: заменить (m3u8.+)$ на m3u8
    Режим поиска — регулярные выражения.

  5. Вдадимир

    так убираются только токен, мне нужно сохранить все ссылки их плейлиста от http:// portal .ott.pink/ с сохраниением названия каналов , то есть с #EXTINF:-1
    А остальные ссылки с каналами удалить.

  6. Денис

    Владимир, смотрите способ в конце статьи.

  7. Владислав

    Благодарю за помощь.

  8. Haskin (автор)

    Рад, что вам пригодилось.

Добавить комментарий

:) :D :( :o 8O :? 8) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen:

Читайте ранее:
Правильное питание и снижение вероятности попасть в больницу при коронавирусе

Закрыть