Raku-Kurs / Reguläre Ausdrücke und Grammatiken / Reguläre Ausdrücke / Anker / Exercises / Ein ganzes Wort
Lösung: Ein ganzes Wort
Hier ist eine mögliche Lösung der Aufgabe.
Code
say 'this is fine' ~~ /<< is >>/;🦋 Du findest den Quellcode in der Datei whole-word.raku.
Ausgabe
「is」Kommentare
Die Anker
<<und>>verlangen auf beiden Seiten voniseine Wortgrenze.Die Buchstaben
isstecken auch inthis, dort haben sie aber links keine Wortgrenze, die Maschine überspringt dieses Vorkommen also und trifft stattdessen das allein stehende Wortis.Beide Kandidaten geben dasselbe
「is」aus — woher wissen Sie also, welcher tatsächlich getroffen hat? Ändern Sie das inthisversteckteis— machen Sie etwa'thus is fine'aus der Zeichenkette. Die Ausgabe bleibt unverändert「is」, was beweist, dass jenes Vorkommen nie der Treffer war. Ändern Sie nun stattdessen das allein stehende Wort (sagen wir'this it fine'), und der Treffer verschwindet (Nil). Sie können den Treffer auch fragen, wo er beginnt:('this is fine' ~~ /<< is >>/).fromliefert5, die Position des allein stehendenis, und nicht2.