Читаем Язык программирования Perl полностью

Регулярные выражения дают программисту новый взгляд на текстовые данные: вместо отдельных символов и простых подстрок он начинает мыслить обобщенными шаблонами, что помогает ему находить более простые и эффективные решения. В таблице 8.1 для справки приведены основные обозначения, применяемые для записи регулярных выражений в Perl. Дополнительные сведения о регулярных выражениях можно почерпнуть из стандартной документации по Perl и перевода уникальной книги Джеффри Фридла "Регулярные выражения".

Таблица 8.1. Основные обозначения для записи регулярных выражений
ОбозначениеОписаниеПримеры
//ограничители регулярного выражения по умолчанию/$pattern/
\отмена специального значения следующего символаm{C:\\windows}
()группировка шаблонов или сохранение значения/(\w\w\w)+/
|выбор из нескольких альтернатив/кошелек|жизнь/
[]класс символов: любой символ из перечисленных/[0-9a-fA-F]/
[^]инвертированный класс символов: любой символ, кроме перечисленных/[^0-9]/
Метасимволы
.любой символ, кроме \n (соответствует любому символу, включая \n с модификатором /s)/(.+)/
\dдесятичная цифраm{Время=\d+ сек}
\Dне десятичная цифра/(\D*)\d+/
\wалфавитно-цифровой знак/\s+\w+\s+/
\Wне алфавитно-цифровой знак/\W\W\W/
\sпробельный символs/\s+/ /
\Sлюбой символ, кроме пробельного/\S+/
Утверждения
^начало строки (соответствует началу каждой строки с модификатором /m)/^\w+/
$конец строки (соответствует концу каждой строки с модификатором /m)/\d+$/
\bграница слова (между \w и \W или \W и \w)/stop\b/
\Bлюбая позиция, кроме границы слова/stop\B/
\Aтолько начало строки, даже с модификатором /m/\A[#]/
\zтолько конец строки, даже с модификатором /m/\w+\z/
\Zтолько конец строки или перед \n в конце строки, даже с модификатором /m/\w+\Z/
\Gпозиция в строке, равная значению функции pos()
Escape-последовательности
\t \n \r \f \a \bуправляющие символы: \b в классе символов выступает как символ Backspace (0x08), вне его - как граница слова/[\a\b\f\r\n\t]/
\0 \x \c \Nкоды символов/\033\x1F\cZ/ /\x{263a}/
\l \L \u \U \Q \Eпреобразующие последовательности/\Q$pattern\E/
Квантификаторы
* *?любое число повторений, включая 0 (максимальный и минимальный квантификаторы)/\s*/ /\S*?/
+ +?одно и более повторений (максимальный и минимальный квантификаторы)/\d+/ /\D+?/
? ??ноль или одно повторение (максимальный и минимальный квантификаторы)/.?/ /[.a-z]??/
{n} {n}?ровно n повторений (максимальный и минимальный квантификаторы)/\w{8}/ /\w{5}?/
{n,} {n,}?n и более повторений (максимальный и минимальный квантификаторы)/\d{2,}/ /\d{5,}?/
{n,m} {n,m}?от n до m повторений включительно (максимальный и минимальный квантификаторы)/[A-Z]{1,12}/ /[a-z]{0,3}?/

Перейти на страницу:

Похожие книги