Документация
HTML CSS PHP PERL другое

Использование регулярных выражений для анализа входных данных

 

Использование регулярных выражений для анализа входных данных

По мере усложнения ваших скриптов Perl возникнет много случаев, когда вы за­хотите узнать больше, чем просто проверить, совпадает ли образец со строкой или нет. Например, может потребоваться, чтобы скрипт извлек определенное зна­чение строки. Используя символы группировки () внутри регулярного выражения, скрипт может извлечь соответствующие образцу значения из строки и сформиро­вать из них список. Например, следующий фрагмент программы использует регу­лярные выражения для того, чтобы извлечь месяцы, дни и годы из списка:

$str = “ January 1, 1997, ”;

($m, $d, $y) = $str =~ /\s*(\S*)\s + (\d+)\D + (\d{4})/;

В этом случае можно прочитать регулярные выражения следующим образом:

·         Пропустить вначале любой специальный символ;

·           записать все символы, не являющиеся специальными, в перемен­ную $ m (переменная для обозначения месяцев);

·         пропустить специальный символ;

·         поместить все цифры в переменную $ d (переменная для записи дней);

·         пропустить все знаки, не являющиеся цифрами;

·         записать четыре цифры в переменную $у (переменная для обозначения лет).

Perl поддерживает также другую форму сравнения с образцом, использующую оператор (=~), который добавляет отрицание результата: (!~). Этот оператор эквивалентен выражению !($ str =~/ pattern /).

Назад | Оглавление | Далее
© 2000- NIV