Сила регулярных выражений состоит в том, что в шаблон можно включать подшаблоны для альтернативного сопоставления и поиска повторений. Альтернативы и повторения кодируют в шаблоне метасимволами, которые парсер интерпретирует не как самих себя, а особым образом.
В коде метасимволы записывают двумя способами: одни парсер распознаёт за пределами квадратных скобок, другие — внутри квадратных скобок. Вне квадратных скобок распознаются следующие метасимволы:
Метасимвол | Описание |
---|---|
\ | общий экранирующий символ с несколькими назначениями |
^ | декларирует начало данных (или строки в многострочном режиме) |
$ | декларирует конец данных или до завершения строки (или окончание строки в многострочном режиме) |
. | соответствует любому символу, кроме перевода строки (по умолчанию) |
[ | начало описания символьного класса |
] | конец описания символьного класса |
| | начало ветки условного выбора |
( | начало подшаблона |
) | конец подшаблона |
? |
расширяет смысл метасимвола ( ,
выступает в роли квантификатора, который означает 0 или 1 вхождение,
а также преобразовывает жадные квантификаторы в ленивые
(смотрите раздел «Повторение»)
|
* | квантификатор, который означает 0 или более вхождений |
+ | квантификатор, который означает 1 или более вхождений |
{ | начало количественного квантификатора |
} | конец количественного квантификатора |
Метасимвол | Описание |
---|---|
\ | общий экранирующий символ |
^ | означает отрицание класса, допустим только в начале класса |
- | означает символьный интервал |