Raku-Kurs / Reguläre Ausdrücke und Grammatiken / Reguläre Ausdrücke / Anker
Anfang und Ende der Zeichenkette
Zwei Anker markieren die Enden der Zeichenkette:
^trifft ganz am Anfang der Zeichenkette$trifft ganz am Ende
Verwenden Sie ^, um zu verlangen, dass der Treffer am
Anfang beginnt:
say so 'http://example' ~~ /^ http /; # True
say so 'see http://x' ~~ /^ http /; # FalseDie zweite Zeichenkette enthält http, aber nicht am
Anfang, das verankerte Muster scheitert also.
^ und $ um ein Muster zu setzen zwingt es,
die ganze Zeichenkette zu treffen, ohne dass auf einer
Seite etwas übrig bleibt:
say so 'hello' ~~ /^ hello $/; # True
say so 'hello world' ~~ /^ hello $/; # FalseDas ist eine sehr verbreitete Redewendung zur Prüfung — etwa „ist diese Zeichenkette genau eine Zahl?“:
say so '2025' ~~ /^ \d+ $/; # True
say so '20a5' ~~ /^ \d+ $/; # FalseZeilenanker
Wenn eine Zeichenkette mehrere Zeilen hat, treffen die Partner
^^ und $$ am Anfang und Ende jeder
Zeile statt der ganzen Zeichenkette. Der Unterschied zu
^ und $ zeigt sich, sobald der gesuchte Text
nicht in der ersten Zeile steht: Die einfachen Anker sehen nur die ganze
Zeichenkette und scheitern, während die verdoppelten in jeder Zeile
treffen.
say so "cat\ndog" ~~ /^ dog $/; # False
say so "cat\ndog" ~~ /^^ dog $$/; # TrueHier beginnt \n eine zweite Zeile. Das ^^
verlangt, dass dog am Anfang einer Zeile steht, und
$$ am Ende einer solchen; beides gilt in der zweiten Zeile,
die verdoppelten Anker gelingen also dort, wo die einfachen es nicht
können.
Praxis
Lösen Sie 1 Quiz zum Inhalt dieses Themas.
Kursnavigation
← Anker | Quiz — Zeichenkettenanker →
💪 Oder springen Sie direkt zu den Übungen dieses
Abschnitts.