Приглашаем посетить
Толстой А.Н. (tolstoy-a-n.lit-info.ru)

Регулярные выражения для поиска и замены строк

Регулярные выражения для поиска и замены строк

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

           

            $str =~ s/pattern/replacement/;

Например, следующая инструкция заменит слово « colour » на « color »:


$str =~ s/\bcolour\b/color/;

Небольшая модификация позволяет заменить все слова « colour » на « color »:

$str =~ s/\bcolour\b/color/g;

В данном случае g в конце выражения указывает языку Perl на необходимость глобальной подстановки.

Используя суффикс i , можно задать выполнение поиска с учётом регистра.

В противоположность простой проверке на соответствие образцу, следующее вы­ражение осуществляет также и замену:

$str =~ tr/SearchList/ReplacementList/;

Например, замена всех символов нижнего регистра теми же символами верхнею регистра может быть осуществлена таким образом:

$ str =~ tr / a - z / A - Z /;                   # меняет регистр, с нижнего на верхний

Проанализируйте сами следующий пример:

$letters = “abcde”;

print “$letters\n”                                # Выведет abcde

$letters =~ tr/a-z/A-Z/;

print “$letters\n”                                # В ыведет ABCDE

Назад | Оглавление | Далее