егулярное выражение – это шаблон текста, который состоит из обычных символов (например, букв от а до я) и специальных символов, известных как метасимволы. Шаблон задает правила поиска и может осуществлять различные манипуляции с текстом.
Далее приведены метасимволы и их значение, а затем уже примеры применения.
Mетасимволы и их значение
Символ | Описание |
---|---|
. | Точка представляет один любой символ |
^ | Начало строки |
$ | Конец строки |
^$ | Пустая строка (начало и конец, между которыми пусто) |
.+ | Любая не пустая строка |
\s | Пробел |
\S | Не Пробел |
\w | Буква, цифра или подчеркивание |
\d | Любая цифра |
\D | Любой символ, но не цифра |
[0-9] | Любая цифра |
[a-z] | Любая буква от a до z (латинский набор символов) в нижнем регистре 1 |
[а-я] | Любая буква от a до я (русский набор символов) в нижнем регистре 1 |
[A-Z] | Любая буква от a до z в ВЕРХНЕМ регистре 1 |
[А-Я] | Любая буква от А до Я в ВЕРХНЕМ регистре 1 |
* | «Повторитель». Означает, что предшествующий символ может повторяться (0 или более раз) |
.* | Абсолютно любой набор символов. Например, условие <p>.*</p> найдет любой текст между тегами <p> </p> |
(^.*$) | Любой текст между началом и концом строки |
Примеры применения метасимволов для поиска
Пример | Описание |
---|---|
([0-9][0-9]*.) | ищет любые цифры, в данном случае двухзначные цифры |
\n | ищет символ новой строки |
\r | ищет пустые строки содержащий символы «перевод каретки» |
^$ | ищет пустые строки |
\n\r | ищет пустые строки содержащий символы – символ новой строки и «перевод каретки» |
\s | ищет класс пробельных символов. К пробельным символам относятся пробел, символ табуляции, возврат каретки, символ новой строки и символ перевода страницы. То же самое, что и [ \t,\r,\n,\f] |
\S | ищет класс не пробельных символов. То же самое, что и [^ \t,\r,\n,\f] |
^\s*$ | ищет пустые строки содержащие пробел 2 |
^[ ]*$ | ищет пустые строки содержащие пробел 2 |
^Тест | ищет слово Тест в начале строки |
Тест$ | ищет слово Тест в конце строки |
\bтом | ищет набор символов том только в начале слов, то есть в слове Томск будет найдено, а в слове Потом нет |
том\b | ищет набор символов том только в конце слов, то есть в слове |
\Bтом\B | ищет набор символов том не в начале и не в конце слов, то есть в слове Томск не будет найдено, и слово Потом также будет проигнорировано, а вот в словах Автоматизация , Хрестоматия будет найдено |
Маша|Оля | ищет все заданные слова в тексте. Например, нужно найти определенные имена в тесте - Маша и Оля, вечером собирались в кино, но встретив Сашу и Пашу, Маша ушла с Пашей на концерт, а Оля с Сашей решили погулять в парке. Найдет все слова Маша и Оля, то есть четыре совпадения. |
1, 2 Часть примеров уже устарела, notepad++ совершенствуется и часть примеров делается стандартными командами. Например, конструкции вида [а-яА-Я] - искать в любом из регистров потеряли смысл, а явное указание на регистр при снятом чек-боксе будет проигнорировано и будут найдены все вхождения в верхнем и нижнем регистрах.
«Удалить пустые строки содержащие пробел» сейчас выполняется через меню «Правка» – «Операции со строками». Но с их помощью можно разрабатывать свои шаблоны поиска и замены.