Синтаксис регулярных выражений (таблица)

.

находит любой символ (кроме новой строки)

\

экранирует следующий метасимвол

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+