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

СимволПримерОписание
[][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.
\Bclass\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_]Наоборот