Для создания регулярного выражения необходимо использовать определенный синтаксис — то есть специальные символы и правила построения. Например, ниже приведено простое регулярное выражение, которое соответствует любому 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» необязательной. |