Raku kurss / Regulārās izteiksmes un gramatikas / Regulārās izteiksmes / Kvantifikatori

Mantkārīga un taupīga saskaņošana

Pēc noklusējuma kvantors ir rijīgs: tas piemeklē tik daudz, cik vien iespējams, joprojām ļaujot izdoties raksturā atlikumam. Aplūkojiet piemeklēšanu no pirmās < līdz kādai >:

say '<a><b>' ~~ / '<' .+ '>' /; # 「<a><b>」

.+ aprija tik daudz, cik varēja, — līdz pat pēdējai >, tāpēc sakritība stiepjas pāri abiem iekavu pāriem.

Lai padarītu kvantoru taupīgu (saukts arī par slinku vai nerijīgu), aiz tā pievienojiet ?. Taupīgs kvantors piemeklē tik maz, cik iespējams:

say '<a><b>' ~~ / '<' .+? '>' /; # 「<a>」

Tagad .+? apstājas pie pirmās >, tāpēc sakrīt tikai pirmais iekavotais gabals.

Piedēklis ? darbojas ar jebkuru kvantoru: arī *? un **? ir taupīgi. Rijīgās un taupīgās versijas piemeklē vienādas teksta klases — tās atšķiras tikai ar to, cik daudz paņem, kad ir izvēle.

Prakse

Jūs gaida 1 viktorīna par šī temata saturu.

Kursa navigācija

Skaita kvantifikators   |   Viktorīna — Kvantifikatori


💪 Vai arī dodieties tieši uz šīs sadaļas vingrinājumiem.