Raku-Kurs / Reguläre Ausdrücke und Grammatiken / Reguläre Ausdrücke / Adverbien
Signifikante Leerzeichen
Innerhalb eines Regex werden Leerzeichen gewöhnlich übergangen — sie
stehen nur dort, um das Muster lesbar zu machen. Deshalb trifft
/foo bar/ den Text foobar. Manchmal wollen Sie
aber wirklich, dass ein Leerzeichen im Muster „hier steht Leerraum“
bedeutet. Genau das tut das Adverb :s (kurz für
:sigspace, „significant space“):
say so 'foo bar' ~~ /:s foo bar/; # True
say so 'foobar' ~~ /:s foo bar/; # FalseMit :s verlangt das Leerzeichen zwischen
foo und bar im Muster Leerraum zwischen den
beiden Wörtern in der Zeichenkette. Ein oder mehrere Leerzeichen (oder
Tabulatoren) zählen alle, die Folge von Leerzeichen in
'foo bar' trifft also.
Bedeutsamer Leerraum wird vor allem bei Grammatiken wichtig, wo er
Ihnen erlaubt, Muster zu schreiben, die sich wie die Sprache lesen, die
Sie zerlegen. Sie begegnen ihm wieder als Unterschied zwischen einem
token und einer rule.
Praxis
Lösen Sie 1 Quiz zum Inhalt dieses Themas.
Kursnavigation
← Globales Matching | Quiz — Adverbien →
💪 Oder springen Sie direkt zu den Übungen dieses
Abschnitts.