Регулярные выражения Perl и их применение
ba2f5a3f

Поиск множественных совпадений


Для поиска множественных совпадений можно применить модификатор g и скалярный контекст. Например:

while ('12345' =~ /\d/g) { print "Найдена еще цифра: $&\n" }

Будет напечатано:

Найдена еще цифра: 1 Найдена еще цифра: 2 Найдена еще цифра: 3 Найдена еще цифра: 4 Найдена еще цифра: 5

Иногда для поиска множественных совпадений нужно искать следующее сразу от конца предыдущего совпадения, аналогично привязке к началу текста \A. Для этого есть специальный якорь \G, о котором мы поговорим позже.

Модификатор g и списковый контекст позволяет запомнить сразу все совпадения в тексте:

my @a='12345' =~ /\d/g; print join ',',@a;

Получаем

1,2,3,4,5



Содержание раздела