Курс Raku / Регулярні вирази та граматики / Регулярні вирази / Прислівники
Глобальне зіставлення
Типово регекс знаходить лише перший збіг. Прислівник
:g (скорочення від :global) знаходить
кожен збіг у рядку. Його записують на операторі
m///:
my @all = 'a1b2c3' ~~ m:g/\d/;
say @all; # [「1」 「2」 「3」]
say @all.elems; # 3З :g результат поводиться як список об’єктів збігу — по
одному на кожне місце, де знайшовся шаблон. Їх можна порахувати, обійти
циклом або перетворити кожен на рядок:
my @numbers = 'a12 b3 c456' ~~ m:g/\d+/;
say @numbers.map(*.Str).join(', '); # 12, 3, 456Тут \d+ знайшов три окремі послідовності цифр, а
:g зібрав їх усі.
Глобальне зіставлення — природний інструмент щоразу, коли питання звучить як «скільки…» чи «усі…», а не «чи є там…».
Навігація курсом
← Область дії прислівника | Значущі пробіли →
💪 Або перейдіть одразу до вправ цього розділу.