Символ | Пример | Описание |
---|---|---|
[] | [abc] [a-c] [a-zA-Z0-9] | Набор символов и/или диапазона символов |
() | (ab){1,3} | Группировка. Поддерживается группировка нескольких уровней (ab, abab, ababab) |
\ | \[ | Экранирование метасимволов |
^ | [^5] | Исключение символа. (Любой символ, кроме 5) |
{m,n} | ca{2,3}t | Предыдущий символ может быть сопоставлен от m до n раз (caat или caaat) |
* | ca*t | Предыдущий символ может быть сопоставлен ноль и более раз (ct, cat, caat ... caaaaaaaaat, и т.д.) Эквивалент {0,} Символ является "Жадным", работает от максимального заполнения к минимальному, т.е. он заполняет шаблон повторяющимися символами так, чтобы он стал равняться по длине тексту, с которым мы его сопоставляем. Если сравнение не проходит, то шаблон уменьшается на один шаг. |
+ | ca+t | Предыдущий символ может быть сопоставлен один и более раз (cat, caat ... caaaaaaaaat, и т.д.) Эквивалент {1,} |
? | ca?t | Предыдущий символ может быть сопоставлен ноль или один раз (ct или cat) Эквивалент {0,1} |
. | Все символы, кроме символа новой строки | |
\A ^ | \AFrom ^From | Ищет соответствие только в начале строки. (Строка начинается со слова From). |
\z $ | }\z }$ | То же, что ^, но в конце строки, которая определяется либо, собственно по концу строки как таковому, либо по символу новой строки. Пробел в конце строки считается полноценным символом. (Поиск символа } в конце строки) |
\b | \bclass\b \bclass | Граница слова. В первом случае идет поиск отдельно стоящего слова class, во втором случае, всех слов, начинающихся с class. |
\B | class\B | Противоположное предыдущему сочетание, соответствующая текущей позиции не на границе слова. Ищет слова, в которых после "class" есть еще символы. |
\d | Эквивалент [0-9] | Соответствует любой цифре |
\D | Эквивалент [^0-9] | Соответствует любому нечисловому символу |
\s | Эквивалент [ \t\n\r\f\v] | Соответствует любому символу whitespace |
\S | Эквивалент [^ \t\n\r\f\v] | Соответствует любому не-whitespace символу |
\w | Эквивалент [a-zA-Z0-9_] | Соответствует любой букве или цифре |
\W | Эквивалент [^a-zA-Z0-9_] | Наоборот |