Регулярные выражения
Таблица 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 | Любой нецифровой символ, то же, что и [л 0-9] |
\е | Символ Esc, ASCII 27 |
\Е | Ограничитель последовательностей \L, \u, \Q |
\f | Символ перевода страницы, ASCI1 1 2 |
\G | Обозначает точку, в которой закончился предыдущий поиск m/ /g |
\1 | Преобразует следующий символ регулярного выражения к нижнему регистру |
Таблица 10.2. Метапоследовательности в регулярных выражениях Perl.
Метапоследовательность | Значение |
---|---|
\L | Преобразует все последующие символы в регулярном выражении к нижнему регистру до тех пор, пока не встретится последовательность \Е |
\n | Символ новой строки, ASCII 10 |
\Q | Эквивалентно экранированию всех последующих метасимволов в регулярном выражении при помощи символа "\" до тех пор, пока не встретится последовательность \Е |
\r | Символ "возврат каретки", ASCII 1 3 |
\s | Класс пробельных символов: пробел (space), символ табуляции (tab), возврат каретки (carriage return), символ перевода строки (line feed) и символ перевода страницы (form feed); эквивалентное \t,\r,\n, \f] |
\S | Класс непробельных символов |
\t | Символ табуляции, ASCII 9 |
\u | Преобразует следующий символ к верхнему регистру |
\U | Преобразует все последующие символы в регулярном выражении к верхнему регистру до тех пор, пока не встретится последовательность \Е |
\v | Символ вертикальной табуляции, ASCII i 1 |
\w | Любая буква, цифра или символ подчеркивания |
\W | Любой символ, не являющийся буквой, цифрой или символом подчеркивания |
\xnn | Символ, шестнадцатеричный код которого равен пп |
\z | Обозначает конец строки |