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