Raku kurss / Regulārās izteiksmes un gramatikas / Regulārās izteiksmes / Apstākļa vārdi
Globāla saskaņošana
Pēc noklusējuma regulārā izteiksme atrod tikai pirmo
sakritību. Apstākļvārds :g (saīsinājums no
:global) atrod katru sakritību virknē. To
raksta uz operatora m///:
my @all = 'a1b2c3' ~~ m:g/\d/;
say @all; # [「1」 「2」 「3」]
say @all.elems; # 3Ar :g rezultāts uzvedas kā sakritības objektu saraksts —
pa vienam katrai vietai, kur raksturs atrasts. Tos var saskaitīt, tiem
var iet cauri ciklā vai katru pārvērst par virkni:
my @numbers = 'a12 b3 c456' ~~ m:g/\d+/;
say @numbers.map(*.Str).join(', '); # 12, 3, 456Šeit \d+ sakritināja trīs atsevišķas ciparu virtenes, un
:g savāca tās visas.
Globālā piemeklēšana ir dabiskais rīks ikreiz, kad jautājums ir «cik daudz…» vai «visi…», nevis «vai ir…».
Kursa navigācija
← Apstākļa vārdu darbības joma | Nozīmīgas atstarpes →
💪 Vai arī dodieties tieši uz šīs sadaļas
vingrinājumiem.