Регулярные выражения в 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 по нужному слову

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

Понравилась статья? Поделить с друзьями:
Добавить комментарий

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

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

Закрыть