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

Для создания регулярного выражения необходимо использовать определенный синтаксис — то есть специальные символы и правила построения. Например, ниже приведено простое регулярное выражение, которое соответствует любому 10-значному номеру телефона по шаблону nnn-nnn-nnnn:

\d{3}-\d{3}-\d{4}

В таблице ниже описаны некоторые из наиболее распространенных специальных символов, используемых в регулярных выражениях. Эти символы сгруппированы следующим образом:

Персонажи Описание
Якоря
^ (Карет) Соответствует началу строки или текстового блока, в котором выполняется поиск по регулярному выражению. Например, правило содержимого с местоположением «Тема» и следующим регулярным выражением:

^abc

Перехватывает любые электронные письма, в теме которых начинаются буквы abc.
$ (доллар) Соответствует концу строки или текстовой последовательности, в которой выполняется поиск по регулярному выражению. Например, правило содержимого с местоположением «Тема строки» и следующим регулярным выражением:

xyz$

Перехватывает любые электронные письма, в теме которых указаны буквы xyz.
Метаперсонажи
. (точка) Соответствует любому отдельному символу, кроме символа новой строки.
| (вертикальная черта) Обозначает чередование, то есть «или». Например:

cat|dog соответствует слову cat или dog
\ Указывает, что следующий символ является буквальным, а не специальным. Например:

Символ \. соответствует буквальной точке, а не любому другому символу (точке).
Классы персонажей
[...] Сопоставляет любой символ из набора символов. Разделяет первый и последний символ в наборе дефисом. Например:

[123] соответствует цифре 1 , 2 или 3

[af] соответствует любой букве от a до f

Примечание: Регулярные выражения в политиках соответствия контента чувствительны к регистру.
[^...] Соответствует любому символу, не входящему в набор символов. Например:

[^af]соответствует любому символу, кроме букв от a до f

Примечание: Регулярные выражения в политиках соответствия контента чувствительны к регистру.
[:alnum:] Сопоставляет буквенно-цифровые символы (буквы или цифры):

аз , АЗ или 0-9

Примечание: Этот класс символов необходимо заключать в квадратные скобки при использовании в регулярном выражении, например: [[:alnum:]].
[:альфа:] Сопоставляет символы алфавита (буквы):

аз или АЗ

Примечание: Этот класс символов необходимо заключать в квадратные скобки при использовании в регулярном выражении, например: [[:alpha:]].
[:digit:] Совпадение цифр:

0-9

Примечание: Этот класс символов необходимо заключать в квадратные скобки при использовании в регулярном выражении, например: [[:digit:]].
[:graph:] Соответствует только видимым символам — то есть любым символам, кроме пробелов, управляющих символов и т.д.

Примечание: Этот класс символов необходимо заключать в квадратные скобки при использовании в регулярном выражении, например: [[:graph:]].
[:punct:] Сопоставляет знаки препинания и символы:

! " # $ % & ' ( ) * + , \ -. / : ; < = > ? @ [ ] ^ _ ` { | }

Примечание: Этот класс символов необходимо заключать в квадратные скобки при использовании в регулярном выражении, например: [[:punct:]].
[:print:] Сопоставляет видимые символы и пробелы.

Примечание: Этот класс символов необходимо заключать в квадратные скобки при использовании в регулярном выражении, например: [[:print:]].
[:космос:] Сопоставляет все символы пробелов, включая пробелы, табуляцию и переносы строк.

Примечание: Этот класс символов необходимо заключать в квадратные скобки при использовании в регулярном выражении, например: [[:space:]].
[:слово:] Соответствует любому символу слова — то есть любой букве, цифре или символу подчеркивания:

az , AZ , 0-9 или _

Примечание: Этот класс символов необходимо заключать в квадратные скобки при использовании в регулярном выражении, например: [[:word:]].
Классы стенографии по символам
\w Соответствует любому символу слова — то есть любой букве, цифре или символу подчеркивания:

az , AZ , 0-9 или _

Эквивалентно [:word:]
В Соответствует любому символу, не являющемуся словом, то есть любому символу, который не является буквой, цифрой или подчеркиванием.

Эквивалентно [^[:word:]]
\s Соответствует любому символу пробела. Например, используйте этот символ для обозначения пробела между словами во фразе:

stockstips соответствует фразе stock tips

Эквивалентно [:space:]
\S Соответствует любому символу, кроме пробела.

Эквивалентно [^[:space:]]
\d Соответствует любой цифре от 0 до 9.

Эквивалентно [:digit:]
\D Соответствует любому символу, кроме цифр от 0 до 9.

Эквивалентно [^[:digit:]]
Группа
(...) Группировка частей выражения. Группировка используется для применения квантификатора к группе или для сопоставления класса символов до или после группы.
Квантификаторы
{n} Совпадите с предыдущим выражением ровно n раз. Например:

[ac]{2} соответствует любой букве от a до c только в том случае, если две буквы встречаются подряд. Таким образом, выражение будет соответствовать ab и bc , но не abc или aabbc .
{n,m} Сопоставьте предыдущее выражение как минимум n раз и как максимум m раз. Например:

[ac]{2,4} соответствует любой букве от a до c только в том случае, если эти буквы встречаются подряд минимум 2 раза и максимум 4 раза. Таким образом, выражение будет соответствовать ab и abc , но не aabbc .
? Указывает, что предшествующий символ или выражение может совпадать 0 или 1 раз. Эквивалентно диапазону {0,1}. Например, следующее регулярное выражение:

цвет

Соответствует либо цвету , либо цвету , потому что знак вопроса делает букву «u» необязательной.