Содержание материала
Mетасимволы и их значение
Символ | Описание |
---|---|
. | Точка представляет один любой символ |
^ | Начало строки |
$ | Конец строки |
^$ | Пустая строка (начало и конец, между которыми пусто) |
.+ | Любая не пустая строка |
s | Пробел |
S | Не Пробел |
w | Буква, цифра или подчеркивание |
d | Любая цифра |
D | Любой символ, но не цифра |
[0-9] | Любая цифра |
[a-z] | Любая буква от a до z (латинский набор символов) в нижнем регистре 1 |
[а-я] | Любая буква от a до я (русский набор символов) в нижнем регистре 1 |
[A-Z] | Любая буква от a до z в ВЕРХНЕМ регистре 1 |
[А-Я] | Любая буква от А до Я в ВЕРХНЕМ регистре 1 |
* | «Повторитель». Означает, что предшествующий символ может повторяться (0 или более раз) |
.* | Абсолютно любой набор символов. Например, условие |
найдет любой текст между тегами
Поиск слова во всех файлах в папке
Для этого откройте меню «Поиск» = «Найти в файлах …», нажмите CTRL + SHIFT + F или выберите «Поиск с помощью CTRL + F» и откройте вкладку «Найти файлы».

Видео
Возможности Нотпед ++
. «Точка» представляет один любой символ;
^$ пустая строка (начало и конец, между которыми пусто);
.+ любая не пустая строка;
w буква, цифра или подчёркивание _;
D Любой символ, но не цифра;
[a-z] Любая буква от a до z (весь латинский набор символов) в нижнем регистре;
[A-Z] Любая буква от A до Z в ВЕРХНЕМ регистре;
[a-zA-Z] или [a-Z] Любая буква от a до z в любом регистре;
* «Повторитель». Означает, что предшествующий символ может повторяться (0 или более раз);
.* Абсолютно любой набор символов. Например, условие
найдет все что между тегами
(^.*$) Любой текст между началом и концом строки;
([0-9][0-9]*.) ищет любые цифры, в данном случае двухзначные цифры;
Ищет символ новой строки;
Ищет пустые строки содержащий символы «перевод каретки» ;
^$ Ищет пустые строки
Ищет пустые строки содержащий символы — символ новой строки и «перевод каретки»
s Ищет класс пробельных символов. К пробельным символам относятся пробел, символ табуляции, возврат каретки, символ новой строки и символ перевода страницы. То же самое, что и [ , , ,f];
S Ищет класс не пробельных символов. То же самое, что и [^ , , ,f];
^s*$ Ищет пустые строки содержащие пробел;
^[ ]*$ Ищет пустые строки содержащие пробел;
^ Слово Ищет слово «Слово» в начале строки;
Слово $ Ищет слово «Слово» в конце строки;
дол Ищет набор символов «том», только в начале слов, то есть в слове Долина будет найдено, а в слове Подол нет;
дол Ищет набор символов «дол», только в конце слов, то есть в слове Долина не будет найдено, а в слове Подол да;
B дол B Ищет набор символов «том», не в начале и не в конце слов, то есть в слове Долина не будет найдено, и в слове Подол нет, а вот в слове Подольск будет найдено;
| — Регулярное выражение, «или». Будет искать то что слева и справа.
Другие примеры работы:
Добавление знаков в начале и конце строки, абзаца
Допустим, необходимо некий текст, скопированный например из ворда, заключить в теги
Ставим в «найти» — (^.*$) ищет соответственно начало и конец строки.
Ставим в «заменить на» — 1 и то, что нужно вставить в начало и конец строки, у нас в примере это
Выражение будет иметь следующий вид:
. Как показано на рисунке 1. В дальнейшем нет нужды в рисунках, так они будут идентичны этому, с той лишь разницей, что выражения, там будут другие.
*** Прим. Добавление круглых скобок () в поле найти, обязательно, иначе будет убирать текст.
Добавление знаков в начале или в конце строки, абзаца
Допустим, необходимо некий текст, скопированный например из ворда, заключить в одиночный тег это тег перевода строки, не всегда удобно и нужно оборачивать его в теги
. Ну я так считаю, возможно и неправильно, но допустим это стих, песня или анекдот, где все строчки короткие и каждая строка новая, мне нравится тут одиночный тег больше.
Для этого в поле «найти» вводим символ $ Конец строки, а в поле «заменить на» вводим нужный нам тег или что то другое, в данном случае тег не забывая добавить 1, то есть выглядит это так — 1 . В данном случае мы только добавляем нужный нам тег, поэтому в круглые скобки в общем то, не нужны, но если поставить, также будет заменять корректно.
Аналогично можно добавлять что-нибудь и в начале строки, заменив в поле найти на символ ^ начала строки, наверное …
Как то возникла у меня необходимость удалить пустые строки в документах, и не только просто пустые но и содержащие пробелы. Всё бы ничего если бы это был один-два файла, есть в Notepad++ в операциях со строками такие функции как «Удалить пустые строки» и «Удалить пустые строки (Содер. символы Пробел)».
Но вот беда, мне нужно было это сделать где-то примерно в 25-28 файлах, и в принципе, это тоже нетрудно. Но, мы, же знаем регулярные выражения, подумал я и решил, процесс облегчить. Итак, суть в том, что в блокноте в «Поиске и Замена» есть кнопочка, «Заменить во всех Открытых документах», вот не неё и была вся моя надежда.
Поискав в интернете, долго ли коротко ли, отовсюду понемножку нашел информацию как это сделать, попробовал – получилось.
Поэтому пишу здесь, чтобы самому не забыть, и быть может другим подсказать.
Пункт 1. Удаления пустых строк
В поле «найти» вводим
— ищет пустые строки, вроде как если оставить пустым окно «Заменить» то удаляет пустые строки, но можно поставить вот это . Ну а далее всё просто открываем все файлы, которые нам нужно «почистить», вводим символы и жмём «Заменить во всех Открытых документах».
Результат: Во всех открытых документах, пустые строки, не содержащих пробелов удалены.
Пункт 2. Удаления пустых строк, содержащих символы Пробел
Тут работа происходит в два этапа, сначала удаляем символы Пробел, а потом пустые строки как это сделать указано в пункте 1.
Поэтому если есть и просто пустые строки и строки, содержащие символы Пробел, то рекомендую начать сразу с этого пункта, работы просто меньше, в смысле, сначала очищаем пустые строки от пробелов, а затем удаляем все строки, ведь теперь, хоть их и стало больше но они все «чистые».
В поле «найти» вводим ^[ ]*$ или ^s*$ — ищет пустые строки содержащие пробел (не знаю, может у кого-то с одним не получится набором, попробуйте с другим), аналогично вроде как, если оставить пустым окно «Заменить» то удаляет пробелы, но можно поставить вот это . Ну а далее всё просто открываем все файлы, которые нам нужно «почистить», вводим символы и жмём «Заменить во всех Открытых документах».
Результат: Во всех открытых документах, пустые строки очищены от пробелов.
Для удаления этих строк выполняем действия указанные в пункте 1.
Найти (^.*$) Заменить 1
— находит новую строку и добавляет к ней пустую строку;
— находит новую строку и заключает её в теги
Найти
Заменить «оставляем пустым» — Удаляет пустые строки
круглые скобки обязательны, иначе найденное будет изменено на заменяемое.
Массово добавить в начало и в конец строки любой символ
В строки найти вставляем: (^.*$) В строки заменить на вставляем: «1»
Более сложная цель
Рассмотрим задачу, с которой я столкнулся в процессе своей работы. Мне кажется этот пример в достаточной мере раскрывает суть текущей темы.
Итак, в процессе разработки сайта, у меня появилась необходимость удалить из таблицы большое количество записей. Структура таблицы следующая:
В качестве исходных данных мне нужно удалить все выражение, вида: [php] [/php]
Удалять пришлось в несколько этапов, поскольку 1 регулярным выражением не удалось решить проблему.
Перенос исходного кода на новую строку
После выполнения функции, получаем код вида:
Исходя из скриншота видно, что фразы