Raku-Kurs / Reguläre Ausdrücke und Grammatiken / Reguläre Ausdrücke / Quantoren
Gieriges und sparsames Matching
Standardmäßig ist ein Quantor gierig: Er trifft so viel, wie
er nur kann, ohne dass der Rest des Musters scheitert. Betrachten Sie
einen Treffer vom ersten < bis zu einem
>:
say '<a><b>' ~~ / '<' .+ '>' /; # 「<a><b>」Das .+ hat so viel verschlungen, wie es konnte, bis zum
letzten >, der Treffer erstreckt sich
also über beide Klammerpaare.
Um einen Quantor sparsam zu machen (auch faul oder
nicht gierig genannt), setzen Sie ein ? dahinter.
Ein sparsamer Quantor trifft so wenig wie möglich:
say '<a><b>' ~~ / '<' .+? '>' /; # 「<a>」Jetzt hält .+? beim ersten
> an, es wird also nur das erste Klammerstück
getroffen.
Das nachgestellte ? funktioniert bei jedem Quantor:
*? und **? sind ebenfalls sparsam. Gierige und
sparsame Fassungen treffen dieselben Arten von Text — sie unterscheiden
sich nur darin, wie viel sie nehmen, wenn es eine Wahl gibt.
Praxis
Lösen Sie 1 Quiz zum Inhalt dieses Themas.
Kursnavigation
← Der Anzahl-Quantor | Quiz — Quantoren →
💪 Oder springen Sie direkt zu den Übungen dieses
Abschnitts.