Шаг 102.
Регулярные выражения. Сводка результатов

    На этом шаге мы обобщим изученное на предыдущих шагах.

    Изложенное на предыдущих шагах можно суммировать в виде набора правил, которыми следует руководствоваться при работе с регулярными выражениями.

    В заключение раздела приведем в таблицах 1 и 2 сводку метасимволов и метапоследовательностей, рассмотренных на предыдущих шагах.

Таблица 1. Символы, имеющие специальное значение в регулярных выражениях Perl
Метасимвол Интерпретация
\ Отменяет (экранирует) специальное значение следующего за ним метасимвола
. Любой одиночный символ, кроме символа новой строки
. Любой одиночный символ, включая символ новой строки, если в операции сопоставления с образцом задан флаг s
^ Обозначает начало строки, если является первым символом образца
$ Обозначает конец строки, если является последним символом образца
| Разделяет альтернативные варианты
[...] Любой одиночный символ из тех, которые перечислены в квадратных скобках. Пара символов, разделенных знаком минус, задает диапазон символов. Например, [A-Za-z] задает все прописные и строчные буквы английского алфавита. Если первым символом в скобках является символ "^", то вся конструкция обозначает любой символ, не перечисленный в скобках. Внутри скобок символы ".", "*", "[" и "\" теряют свое специальное значение
(...) Группирование элементов образца в один элемент
* Нуль и более повторений регулярного выражения, стоящего непосредственно перед *
+ Одно или более повторений регулярного выражения, стоящего непосредственно перед +
? Одно или ни одного повторения регулярного выражения, стоящего непосредственно перед ?
Минимальное n и максимальное m число повторений регулярного выражения, стоящего перед {n,m}. Конструкция {n} означает ровно n повторений, {n, } - минимум n повторений

Таблица 2. Метапоследовательности в регулярных выражениях Perl
Метапоследрвательность Значение
\0nn Символ, восьмеричный код которого равен nn>
\a При выводе производит звуковой сигнал
\A Обозначает начало строки
\b Обозначает границы слова. Под словом понимается последовательность символов из класса \w (см. ниже). Граница слова определяется как точка между символами из класса \w и символами из класса \w (см. ниже)
\B Обозначает не-границы слова
\cn Управляющий символ, который генерируется при нажатии комбинации клавиш Ctrl+N
\d Любой цифровой символ, то же, что и [0-9]
\D Любой нецифровой символ, то же, что и [^0-9]
\e Символ Esc, ASCII 27
\E Ограничитель последовательностей \L, \U, \Q
\f Символ перевода страницы, ASCII 12
\G Обозначает точку, в которой закончился предыдущий поиск m//g
\l Преобразует следующий символ регулярного выражения к нижнему регистру
\L Преобразует все последующие символы в регулярном выражении к нижнему регистру до тех пор, пока не встретится последовательность
\n Символ новой строки, ASCII 10
\Q Эквивалентно экранированию всех последующих метасимволов в регулярном выражении при помощи символа "\" до тех пор, пока не встретится последовательность
\r Символ "возврат каретки", ASCII 13
\s Класс пробельных символов: пробел (space), символ табуляции (tab), возврат каретки (carriage return), символ перевода строки (line feed) и символ перевода страницы (form feed); эквивалентно [\t,\r,\n,\f]
\S Класс непробельных символов
\t Символ табуляции, ASCII 9
\u Преобразует следующий символ к верхнему регистру
\U Преобразует все последующие символы в регулярном выражении к верхнему регистру до тех пор, пока не встретится последовательность
\v Символ вертикальной табуляции, ASCII 11
\w Любая буква, цифра или символ подчеркивания
\W Любой символ, не являющийся буквой, цифрой или символом подчеркивания
\xnn Символ, шестнадцатеричный код которого равен nn
\Z Обозначает конец строки

    Со следующего шага мы будем рассматривать операции над регулярными выражениями.




Предыдущий шаг Содержание Следующий шаг