Изложенное в данном разделе можно суммировать в виде набора правил, которыми следует руководствоваться при работе с регулярными выражениями.
В заключение раздела приведем в табл. 10.1 и 10.2 сводку метасимволов и метапоследовательностей, рассмотренных в данной главе.
Таблица 10.1. Символы, имеющие специальное значение у в регулярных выражениях Perl
Метасимвол |
Интерпретация |
\ |
Отменяет (экранирует) специальное значение следующего за ним метасимвола |
- |
Любой одиночный символ, кроме символа новой строки |
|
Любой одиночный символ, включая символ новой строки, если в операции сопоставления с образцом задан флаг s |
л |
Обозначает начало строки, если является первым символом образца |
$ |
Обозначает конец строки, если является последним символом образца |
I |
Разделяет альтернативные варианты |
[...] |
Любой одиночный символ из тех, которые перечислены в квадратных скобках. Пара символов, разделенных знаком минус, задает диапазон символов. Например, [A-Za-z] задает все прописные и строчные буквы английского алфавита. Если первым символом в скобках является символ " ^ ", то вся конструкция обозначает любой символ, не перечисленный в скобках. Внутри скобок символы ".", "*", "[" и "\" теряют свое специальное значение |
(...) |
Группирование элементов образца в один элемент |
* |
Нуль и более повторений регулярного выражения, стоящего непосредственно перед * |
+ |
Одно или более повторений регулярного выражения, стоящего непосредственно перед + |
9 |
Одно или ни одного повторения регулярного выражения, стоящего непосредственно перед ? |
{ n, m } |
Минимальное n и максимальное m число повторений регулярного выражения, стоящего перед {n, m). Конструкция {n} означает ровно n повторений, (m } — минимум n повторений |
\0nn |
Символ, восьмеричный код которого равен nn |
\а |
При выводе производит звуковой сигнал |
\А |
Обозначает начало строки |
\b |
Обозначает границы слова. |
|
Под словом понимается последовательность символов из класса \w (см. ниже). Граница слова определяется как точка между символами из класса \w и символами из класса \w (см. ниже) |
\В |
Обозначает не-границы слова |
\сп |
Управляющий символ, который генерируется при нажатии комбинации клавиш <Ctrl>+<N> |
\d |
Любой цифровой символ, то же, что и [0-9] |
\D |
Любой нецифровой символ, то же, что и [ л О-9] |
\е |
Символ Esc, ASCII 27 |
\Е |
Ограничитель последовательностей \L, \u, \Q |
\f |
Символ перевода страницы, ASCI1 1 2 |
\G |
Обозначает точку, в которой закончился предыдущий поиск m/ /g |
\1 |
Преобразует следующий символ регулярного выражения к нижнему регистру |