Регулярные выражения
Регулярные выражения (нередко обозначаемые на английском как RegEx или regex) являются инструментальными средствами, предназначаемыми для решения конкретных задач.
Регулярные выражения относятся к числу самых эффективных инструментальных средств, доступных для манипулирования текстом. Для составления регулярных выражений имеется специальный язык. Регулярные выражения служат для операций поиска и замены.
Метасимвол | Описание |
---|---|
. |
Точка обозначает совпадение с любым одиночным символом, будь то буква, цифра и даже сам знак точки. |
^ |
отрицание. Метасимвол ^ обозначает отрицание всех символов или диапазона из набора символов |
+ |
Знак + обозначает совпадение с одним или несколькими символами, т.е. хотя бы с одним символом, а иначе совпадение не происходит. |
* |
Как и метасимвол + , звёздочка указывается после символа или набора символов и обозначает совпадение с нулевым или большим количеством экземпляров символа или набора символов. |
? |
обозначает совпадение с дополнительным текстом а следовательно будет обнаружено и нулевое количество совпавших экземпляров. Но в отличии от метасимвола + , метасимвол ? обозначает совпадение только нулевым или единичным количеством экземпляров символа или набора символов, и не более того. |
[] |
Или. Квадратные скобки задают пределы для наборов символов, чтобы обеспечить совпадение с любым, но не всеми символами из данного набора. Пример: выражение [ab] означает один символ или a или bПопулярные диапазоны:
|
{} |
Совпадение с конкретным интервалом символов.
|
\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,}? |
*** Войдите чтобы писать комментарии.