Синтаксис регулярных выражений (таблица)
. |
находит любой символ (кроме новой строки) |
\ |
экранирует следующий метасимвол |
ab |
устанавливает последовательность подвыражений a и b |
a|b |
изменяет подвыражения a и b |
(a) |
группирует и захватывает обратную ссылку |
(?:a) |
группирует и не захватывает обратную ссылку |
a* |
ноль или более раз, жадный поиск |
a+ |
один или более раз, жадный поиск |
a? |
ноль или один раз, жадный поиск |
a{n} |
находит строго n раз, жадный поиск |
a{n,} |
находит как минимум n раз |
a{n,m} |
от n до m раз, жадный поиск |
a*? |
ноль или более раз, нежадный поиск |
a+? |
один или более раз, нежадный поиск |
a?? |
ноль или один раз, нежадный поиск |
a{n,m}? |
от n до m раз, нежадный поиск |
^ |
находит начало строки |
$ |
находит конец строки (или до новой строки в конце) |
\A |
находит только в начале строки |
\b |
находит границу слова |
\B |
находит все, кроме элементов на границе слова |
\Z |
находит только в конце строки или до новой строки в конце |
\z |
находит только в конце строки |
\n |
литеральная новая строка |
. |
любой символ кроме литеральной новой строки (без модификатора Perl /s). |
\r?\n|\r |
логическая новая строка |
[^\r\n] |
любой одиночный символ кроме логической новой строки. |
\w |
символ слова, равный set[alnum | \'_']. |
\W |
не символ слова, равный ~set[alnum | \'_']. |
\d |
цифровой символ |
\D |
нецифровой символ |
\s |
символ пробела |
\S |
не символ пробела |
[:alnum:] |
алфавитно-числовой символ |
[:alpha:] |
алфавитный символ |
[:blank:] |
горизонтальный символ пробела |
[:cntrl:] |
символ управления |
[:digit:] |
символ разряда |
[:graph:] |
графический символ |
[:lower:] |
символ нижнего регистра |
[:print:] |
символ печати |
[:punct:] |
пунктуационный символ |
[:space:] |
символ пробела |
[:upper:] |
символ верхнего регистра |
[:xdigit:] |
символ шестнадцатеричной системы чисел |
\p{L} |
любая буква любого языка |
\p{Lu} |
буква в верхнем регистре, имеющая вариант в нижнем регистре |
\p{Ll} |
буква в нижнем регистре, имеющая вариант в верхнем регистре |
\p{Lt} |
буква, которая появляется в начале слова, когда заглавной является только первая буква в слове |
\p{Lm} |
специальный символ, который используется как буква |
\p{Lo} |
буква или идеограмма, которая не имеет вариантов в верхнем или нижнем регистре |
\p{M} |
символ, который должен комбинироваться с другим символом (например, акценты, умлауты, скобки и т.д.) |
\p{Mn} |
символ, который должен комбинироваться с другим символом, не занимая при этом дополнительного пространства (например, акценты, умлауты и т.д.) |
\p{Mc} |
символ, который должен комбинироваться с другим символом, занимая при этом дополнительное пространство (символы гласных во многих европейских языках) |
\p{Me} |
символ, который окружает сочетающийся с ним символ (круг, квадрат, колпачок и т.д.) |
\p{N} |
любой числовой символ в любых шрифтах |
\p{Nd} |
цифра от нуля до девяти в любом шрифте, за исключением идеографических |
\p{Nl} |
число, которое внешне похоже на букву, например римская цифра |
\p{No} |
надстрочная или подстрочная цифра или число, которое не является цифрой от 0-9 (за исключением чисел в идеографических шрифтах) |
\p{Z} |
любой тип пробела или невидимого разделителя |
\p{Zs} |
символ пробела, который является невидимым, но который занимает место |
\p{Zl} |
символ разделителя строк U+2028 |
\p{Zp} |
символ разделителя абзацев U+2029 |
\p{S} |
математические символы, знаки валют, графические значки, символы полей и т.д. |
\p{Sm} |
любой математический символ |
\p{Sc} |
любой значок валют |
\p{Sk} |
комбинированный символ (метка) как самостоятельный символ |
\p{So} |
различные символы, не являющиеся математическими символами, значками валют или комбинированными символами |
\p{P} |
любой тип пунктуационного символа |
\p{Pd} |
любой тип дефиса или тире |
\p{Ps} |
любой тип открывающей скобки |
\p{Pf} |
любой тип закрывающих кавычек |
\p{Pi} |
любой тип открывающих кавычек |
\p{Pe} |
любой тип закрывающей скобки |
\p{Pc} |
пунктуационный значок, например подчеркивание, который соединяет слова |
\p{Po} |
любой тип пунктуационного значка, который не является тире, скобкой, кавычками или соединителем |
[0-9] |
символы от '0' до '9' |
[abc] |
символы 'a', 'b' или 'c' |
[0-9abc] |
символы 'a', 'b', 'c' или от '0' до '9' |
[^abc] |
символы кроме 'a', 'b' или 'c' |
(?i:stuff) |
находит содержимое вне зависимости от регистра |
(?>stuff) |
независимое подвыражение, находит содержимое и отключает возврат |
(?=stuff) |
положительное прямое утверждение, находит в том случае, если оно расположено до содержимого; содержимое не входит в совпадение |
(?!stuff) |
отрицательное прямое утверждение, находит в том случае, если оно не расположено до содержимого |
(?⇐stuff) |
положительное обратное утверждение, находит в том случае, если оно расположено после содержимого; содержимое не входит в совпадение (содержимое должно быть постоянной ширины) |
(?<!stuff) |
отрицательное обратное утверждение, находит в том случае, если оно не расположено после содержимого; содержимое не входит в совпадение (содержимое должно быть постоянной ширины) |
\1 |
обратная ссылка на конкретную группу. \'1' фактически может быть любым положительным целым числом |
(?<name>…)(?P<name>…) |
определяет именованный буфер записи (именованное выражение) |
\<name>\k<name>(?P=name) |
ссылается на именованный буфер записи (именованное выражение) |
$name= |
определяет локальный макрос |
$name |
ссылается на глобальный макрос |
DIAP(v1, v2) |
находит целое число в диапазоне [v1, v2], v1, v2 = \d+ |