Спецификация языка Perl


П2.4.2 Регулярные выражения



П2.4.2 Регулярные выражения

Perl позволяет использовать регулярные выражения. Для того чтобы пояснить, что же представляет из себя регулярное выражение приведем несколько примеров:

/SWAP.*/ - соответствуют все слова начинающиеся со SWAP и заканчивающихся произвольным набором символов. Точка обозначает произвольный символ, звездочка - то, что символ, стоящий перед ней, входит в слово 0 и более раз. Все метасимволы, которые будут описаны ниже, бозначают вхождение того, что стоит перед ними.

/\w*/ - соответствуют слова состоящие только из алфавитных, цифровых символов и символа подчерк. \w - соответствует алфавитным, цифровым символам и символу подчерк, звездочка - тому, что эти символы могут входить произволное количество раз. Здесь мы приведем только основные метасимволы. Для более подробной информации смотрите соответствующие страницы man по Perl. ¯ * соответствует 0 или более вхождений + соответствует 1 или более вхождений ? соответствует 1 или 0 вхождений {n} соответствует ровно n вхождений {n,} соответствует по крайней мере n вхождений {n,m} соответствует по крайней мере n, но не более m вхождений

Метасимвол * эквивалентен {0,}, + эквивалентен {1,} и ? эквивалентен {0,1}. Ограничений на величину m и n нет. Эта стандартная конструкция работает в ``жадном'' режиме, то есть: регулярному выражению a.*b будет соответствовать всевозможный набор слов начинающихся с символа a и кончающихся символом b, в том числе слова типа abcab. В таких словах есть подпоследовательности символов, которые также удовлетворяют условиям регулярного выражения. Если после каждого из описанных метасимволов поставить знак ?, то подобные последовательности будут опускаться. Шаблоны обрабатываются как строка в двойных кавычках, поэтому приведенные ниже последовательности также будут обрабатываться: ¯ \l - передвижение на символ вниз \u - передвижение на символ вверх

А также все перечисленные ранее бакслэш-последовательности. В Perl-е определены также: ¯ \w - соответствуют алфавитные и цифровые символы а также символ подчерк \$W - соответствуют все символы не входящие во множество символов w \s - символы пробела, табуляции, возврата каретки \S - все символы не входящие во множество символов s \d - цифровые символы \D - нецифровые символы




Начало  Назад  Вперед



Книжный магазин