Выбрать главу

Сразу после регулярного выражения можно поместить однобуквенный модификатор. В таблице 3.2 приведены наиболее часто употребляемые модификаторы.

Таблица 3.2. Модификаторы регулярных выражений

Модификатор Назначение
I Игнорировать регистр
O Выполнять подстановку выражения только один раз
M Многострочный режим (точка сопоставляется с символом новой строки)
X Обобщенное регулярное выражение (допускаются пробелы и комментарии)

Дополнительные примеры будут рассмотрены в главе 4. Чтобы завершить введение в регулярные выражение, в таблице 3.3 мы приводим наиболее употребительные символы и обозначения.

Таблица 3.3. Общеупотребительные обозначения в регулярных выражениях

Обозначение Пояснение
^ Начало строки текста (line) или строки символов (string)
$ Конец строки текста или строки символов
. Любой символ, кроме символа новой строки (если не установлен многострочный режим)
\w
Символ - часть слова (цифра, буква или знак подчеркивания)
\W Символ, не являющийся частью слова
\s Пропуск (пробел, знак табуляции, символ новой строки и т.д.)
\S Символ, не являющийся пропуском
\d Цифра (то же, что [0-9])
\D Не цифра
\A Начало строки символов (string)
\Z Конец строки символов или позиция перед конечным символом новой строки
\z Конец строки символов (string)
\b Граница слова (только вне квадратных скобок [ ])
\B Не граница слова
\b Забой (только внутри квадратных скобок [ ])
[] Произвольный набор символов
* 0 или более повторений предыдущего подвыражения
*? 0 или более повторений предыдущего подвыражения (нежадный алгоритм)
+ 1 или более повторений предыдущего подвыражения
+? 1 или более повторений предыдущего подвыражения (нежадный алгоритм)
{m, n} От m до n вхождений предыдущего подвыражения
{m, n}? От m до n вхождений предыдущего подвыражения (нежадный алгоритм)
? 0 или 1 повторений предыдущего подвыражения
| Альтернативы
(?= ) Позитивное заглядывание вперед
(?! ) Негативное заглядывание вперед
() Группировка подвыражений
(?> ) Вложенное подвыражение
(?: ) Несохраняющая группировка подвыражений
(?imx-imx) Включить/выключить режимы, начиная с этого места
(?imx-imx: expr) Включить/выключить режимы для этого выражения
(?# ) Комментарий