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

Регулярные выражения (нередко обозначаемые на английском как RegEx или regex) являются инструментальными средствами, предназначаемыми для решения конкретных задач.

Регулярные выражения относятся к числу самых эффективных инструментальных средств, доступных для манипулирования текстом. Для составления регулярных выражений имеется специальный язык. Регулярные выражения служат для операций поиска и замены.

Метасимвол Описание
. Точка обозначает совпадение с любым одиночным символом, будь то буква, цифра и даже сам знак точки.
^ отрицание. Метасимвол ^ обозначает отрицание всех символов или диапазона из набора символов
+ Знак + обозначает совпадение с одним или несколькими символами, т.е. хотя бы с одним символом, а иначе совпадение не происходит.
* Как и метасимвол +, звёздочка указывается после символа или набора символов и обозначает совпадение с нулевым или большим количеством экземпляров символа или набора символов.
? обозначает совпадение с дополнительным текстом а следовательно будет обнаружено и нулевое количество совпавших экземпляров. Но в отличии от метасимвола +, метасимвол ? обозначает совпадение только нулевым или единичным количеством экземпляров символа или набора символов, и не более того.
[] Или. Квадратные скобки задают пределы для наборов символов, чтобы обеспечить совпадение с любым, но не всеми символами из данного набора.
Пример: выражение [ab] означает один символ или a или b
Популярные диапазоны:
  • [0-9] - любая из цифр. Тоже что [0123456789]
  • [A-Za-z0-9]
  • [A-z]
  • [A-Z]
{} Совпадение с конкретным интервалом символов.
  • Шаблон {3} обозначает три совпадения предыдущего символа или набора символов.
  • {2,4} где 2 означает минимум два совпадения, а 4 максимум четыре совпадения
  • {3,} обозначает совпадение хотя бы с тремя экземплярами, т.е. с тремя и больше экземплярами символов.
\b служит для обозначения совпадения с началом или концом слова
\B исключить совпадение на границе слова

 

Пробельные метасимволы

Метасимвол Описание
[\b] Возврат на один символ ("забой")
\f Перевод страницы
\n Перевод строки
\r Возврат каретки
\t Табуляция
\v Вертикальная табуляция

 

Цифровые и нецифровые метасимволы

Метасимвол Описание
\d Любая цифра. То же что и [0-9]
\D Любой символ кроме цифры. То же что и [^0-9]

 

Буквенно-цифровые метасимволы

Метасимвол Описание
\w Любой буквенно-цифровой символ в верхнем или нижнем регистре, а также знак подчёркивания. То же что и [a-zA-Z0-9_]
\W Любой не буквенно-цифровой символ или знак подчёркивания. То же что и [^a-zA-Z0-9_]

 

Пробельные и непробельные метасимволы

Метасимвол Описание
\s Любой пробельный символ. То же что и [\f\n\r\t\v]
\S Любой не пробельный символ. То же что и [^\f\n\r\t\v]

 

Жадные квантаторы - обнаруживают максимально, а не минимально возможное совпадение. В итоге обнаружение совпадения почти всегда начинается не с начала, а с конца текста и продолжается в обратном направлении до тех пор, пока совпадение не будетнайдено. Это делается преднамеренно и поэтому подобные квантаторы по своему замыслу жадны.

Ленивые квантаторы - обозначают совпадение с минимальным, а не с максимальным количеством символов. Ленивые квантаторы обозначаются с присоединённым к ним знаком ?

Жадный квантатор Ленивый квантатор
* *?
+ +?
{n,} {n,}?
Комментарии 0

*** чтобы писать комментарии.