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

Регулярные выражения notepad примеры:
1. Удалить все html-теги, оставить только текст:
[<].*?>
2. В списке ссылок вида <a href="LINK">TITLE</a> удалить все html-теги, оставить только ссылки регулярным выражением:
^[^"]+.([^"]+).*заменить на:$1
3. В этом же списке оставить только TITLE:
</?[^>]*.
4. Удалить пустые строки из файла — уже встроено в саму программу. Смотрите скриншот:
5. Удалить строки с заданным количеством вхождения определенного символа в notepad. (Мне это понадобилось, когда нужно было очистить большой список ссылок на товары — 45 тыс. позиций — от ссылок на категории. Друг от друга они отличались общим количеством слешей — в категориях было 5, а в товарах — 6)
^([^/]*/){5}[^/]*$
Разъяснение:
^ начало строки
( начало группы
[^/]* любой символ кроме слеша, 0 или более раз
/ слеш
){5} закончить и повторить группу 5 раз
[^/]* любой символ кроме слеша, 0 или более раз
$ конец строки
6. Удалить весь текст между двумя определенными символами (в данном примере — между двух кавычек):
"([^"]*)"
7. Удалить все html-теги с определенным атрибутом. Например, мы хотим удалить все теги (и содержимое тегов), у которых совпадает класс, или инлайн-стили
<td class="nowrap">([^<]*)</td> - то есть задаем искомую строку,внутри которой может быть произвольный текст. Текст оформляем как ([^<]*) - любые символы,кроме символа открытия (или закрытия) тега.
8. Удалить все теги, внутри которых содержатся только числа:
<td>(\d+)</td>
9. Удалить заданное количество символов от начала строки (данный пример удаляет первые 9 символов):
^.{0,9}В данном примере выражение \d+ означает любую цифры от 0 до 9 любое количество раз
10. Разбить текст на куски с определенным количеством символов до точки с помощью регулярного выражения. В этом примере количество символов задано диапазоном от 4000 - до 4900 и этот диапазон должен заканчиваться концом предложения (точка, ! или ?). Регулярка берет максимальный подходящий по объему текст:
.{4000,4900}(\.|\!|\?|$)
11. Разбор текста на предложения с помощью регулярки:
[А-ЯA-Z].{15,}?(\.|\!|\?)(?=\ |\r|\n|$)
12. Поиск слова начинающегося с определённого текста:
(?i)\bgo.*?(?=\W|\ |\r|\n|$)найдёт в тексте все слова начинающиеся на go, например: goal, god, google
13. Ищет число в диапазоне 400-699:
^([4-6][0-9][0-9])$
14. Получить имя файла из пути windows:
([^\\]+$)
15. Поиск строк НЕ содержащих указанную (под)строку:
(?<=(^|\r\n))((?!(test)).)*(?=($|\r\n))
16. Взять все строки больше 18 символов. Пример регулярного выражения:
(?<=(\r\n|^)).{18,}(?=(\r\n|$))
17. Взять все строки до 18 символов:
(?<=(\r\n|^)).{1,18}(?=(\r\n|$))
18. Поиск всех HTML тегов регулярным выражением:
<.*?>
19. Поиск почты регулярным выражением:
[\.\-_A-Za-z0-9]+?@[\.\-A-Za-z0-9]+?[\.A-Za-z0-9]{2,}
20. Поиск IP-адреса регуляркой:
(\d{1,3}\.){3}\d{1,3}
21. Найти URL-адрес сайта:
(http|ftp|https):\/\/[\w\-_]+(\.[\w\-_]+)+([\w\-\.,@?^=%&:/~\+#]*[\w\-\@?^=%&/~\+#])?
22. Пример регулярного выражения для поиска всех пустых строк:
\n\r
23. Выражение для удаления первых 6-ти символов из строки (английский язык):
^[a-z]{6}
Небольшая шпаргалка по регулярным выражениям в нотепад.
√ . — Точка представляет один любой символ
√ ^ — Начало строки
√ $ — Конец строки
√ \s — Пробел
√ \S — Не Пробел
√ \w — буква, цифра или подчёркивание _
√ \d — Любая цифра
√ \D — Любой символ, но не цифра
√ [0-9] — Любая цифра
√ [a-z] — Любая буква от a до z (весь латинский набор символов) в нижнем регистре
√ [A-Z] — Любая буква от a до z в ВЕРХНЕМ регистре
√ [a-zA-Z] — Любая буква от a до z в любом регистре
√ [a-Z] — То же самое
√ * — «Повторитель». Означает, что предшествующий символ может повторяться (0 или более раз)
√ .* — Абсолютно любой набор символов. Например, условие .*
— найдет все что между тегами
— найдет все что между тегами
√ (^.*$) — Любой текст между началом и концом строки
√ ([0-9][0-9]*.) — ищет любые двухзначные в данном случае цифры
√ \n\r — Ищет пустые строки. Вроде как если оставить пустым окно "Заменить" то удаляет пустые строки, но можно поставить вот это \0
√ ^\s*$ — Ищет пустые строки содержащие пробел.
√ ^[ ]*$ — Ищет пустые строки содержащие пробел.
Примеры:
Добавление знаков в начале и конце строки, абзаца
Допустим, необходимо некий текст, скопированный например из ворда, заключить в теги
Ставим в "найти" - (^.*$) ищет соответственно начало и конец строки.
Ставим в "заменить на" - \1 и то, что нужно вставить в начало и конец строки, у нас в примере это
Выражение будет иметь следующий вид:\1
. Как показано на рисунке 1. В дальнейшем нет нужды в рисунках, так они будут идентичны этому, с той лишь разницей, что выражения, там будут другие.
. Как показано на рисунке 1. В дальнейшем нет нужды в рисунках, так они будут идентичны этому, с той лишь разницей, что выражения, там будут другие.
*** Прим. Добавление круглых скобок () в поле найти, обязательно, иначе будет убирать текст.
Добавление знаков в начале или в конце строки, абзаца
Допустим, необходимо некий текст, скопированный например из ворда, заключить в одиночный тег это тег перевода строки, не всегда удобно и нужно оборачивать его в теги
. Ну я так считаю, возможно и неправильно, но допустим это стих, песня или анекдот, где все строчки короткие и каждая строка новая, мне нравится тут одиночный тег больше.
. Ну я так считаю, возможно и неправильно, но допустим это стих, песня или анекдот, где все строчки короткие и каждая строка новая, мне нравится тут одиночный тег больше.
Для этого в поле "найти" вводим символ $ Конец строки, а в поле "заменить на" вводим нужный нам тег или что то другое, в данном случае тег не забывая добавить \1, то есть выглядит это так - \1 . В данном случае мы только добавляем нужный нам тег, поэтому в круглые скобки в общем то, не нужны, но если поставить, также будет заменять корректно.
Аналогично можно добавлять что-нибудь и в начале строки, заменив в поле найти на символ ^ начала строки, наверное ...
Как то возникла у меня необходимость удалить пустые строки в документах, и не только просто пустые но и содержащие пробелы. Всё бы ничего если бы это был один-два файла, есть в Notepad++ в операциях со строками такие функции как «Удалить пустые строки» и «Удалить пустые строки (Содер. символы Пробел)».
Но вот беда, мне нужно было это сделать где-то примерно в 25-28 файлах, и в принципе, это тоже нетрудно. Но, мы, же знаем регулярные выражения, подумал я и решил, процесс облегчить. Итак, суть в том, что в блокноте в «Поиске и Замена» есть кнопочка, «Заменить во всех Открытых документах», вот не неё и была вся моя надежда.
Поискав в интернете, долго ли коротко ли, отовсюду понемножку нашел информацию как это сделать, попробовал – получилось.
Поэтому пишу здесь, чтобы самому не забыть, и быть может другим подсказать.
Пункт 1. Удаления пустых строк
В поле "найти" вводим \n\r - ищет пустые строки, вроде как если оставить пустым окно "Заменить" то удаляет пустые строки, но можно поставить вот это \0. Ну а далее всё просто открываем все файлы, которые нам нужно «почистить», вводим символы и жмём «Заменить во всех Открытых документах».
Результат: Во всех открытых документах, пустые строки, не содержащих пробелов удалены.
Пункт 2. Удаления пустых строк, содержащих символы Пробел
Тут работа происходит в два этапа, сначала удаляем символы Пробел, а потом пустые строки как это сделать указано в пункте 1.
Поэтому если есть и просто пустые строки и строки, содержащие символы Пробел, то рекомендую начать сразу с этого пункта, работы просто меньше, в смысле, сначала очищаем пустые строки от пробелов, а затем удаляем все строки, ведь теперь, хоть их и стало больше но они все «чистые».
В поле "найти" вводим ^[ ]*$ или ^\s*$ - ищет пустые строки содержащие пробел (не знаю, может у кого-то с одним не получится набором, попробуйте с другим), аналогично вроде как, если оставить пустым окно "Заменить" то удаляет пробелы, но можно поставить вот это \0. Ну а далее всё просто открываем все файлы, которые нам нужно «почистить», вводим символы и жмём «Заменить во всех Открытых документах».
Результат: Во всех открытых документах, пустые строки очищены от пробелов.
Для удаления этих строк выполняем действия указанные в пункте 1.
P.S. Кстати, пока набирал, текст увидел что есть вкладка «найти в файлах», возможно можно было и обойтись без лишнего открывания – закрывания всех файлов. Это заметка себе на будущее попробовать, а вам возможно подсказка.
Комментариев нет:
Отправить комментарий