Raku-Kurs / Reguläre Ausdrücke und Grammatiken / Reguläre Ausdrücke / Alternativen
Längster Token und erster Treffer
Wenn zwei Alternativen an derselben Stelle treffen könnten, wählt der
Operator | diejenige, die das längste
Stück Text trifft. Das nennt man longest-token matching:
say 'catdog' ~~ / cat | catdog /; # 「catdog」Obwohl cat zuerst geschrieben steht und treffen würde,
zieht | das längere catdog vor.
Manchmal wollen Sie das Gegenteil — die Alternativen in der
geschriebenen Reihenfolge probieren und die erste
nehmen, die trifft. Genau das tut der doppelte Strich
||:
say 'catdog' ~~ / cat || catdog /; # 「cat」Nun wird cat zuerst probiert und trifft, die Maschine
hält also dort an und zieht catdog nie in Betracht.
Nehmen Sie | (längstes Token), wenn Sie unabhängig von
der Reihenfolge den „besten“ Treffer wollen — das ist die übliche Wahl
und diejenige, auf die sich Grammatiken stützen. Nehmen Sie
|| (erster Treffer), wenn die Reihenfolge der Alternativen
bedeutsam ist und frühere gewinnen sollen.
Praxis
Lösen Sie 1 Quiz zum Inhalt dieses Themas.
Kursnavigation
← Quiz — Gruppierung | Quiz — Alternativen →
💪 Oder springen Sie direkt zu den Übungen dieses
Abschnitts.