5.3.3. Zeilenseparatoren

Sequenz
Beschreibung
^ Beginn einer Zeile
$ Ende einer Zeile
\A start of text
\Z end of text
. irgendein beliebiges Zeichen
Ausdruck
Beschreibung
^foobar findet den String 'foobar' nur, wenn es am Zeilenanfang vorkommt
foobar$ findet den String 'foobar' nur, wenn es am Zeilenende vorkommt
^foobar$ findet den String 'foobar' nur, wenn er der einzige String in der Zeile ist
foob.r findet Strings wie 'foobar', 'foobbr', 'foob1r', etc.
Standardmässig garantiert das Metazeichen ^ nur, dass das Suchmuster sich am Anfang des Zielstrings befinden muss, oder am Ende des Zielstrings mit dem Metazeichen $. Kommen im Zielstring Zeilenseparatoren vor, so werden diese von ^ oder $ nicht gefunden.
Der Zielstring kann als mehrzeiliger Puffer behandelt werden, so dass ^ die Stelle unmittelbar nach und $ die Stelle unmittelbar vor irgendeinem Zeilenseparator findet. Diese Art der Suche kann durch den Modifikator /m geändert werden.
\A und \Z verhalten sich ähnlich wie ^ und $, mit der Ausnahme, dass sich bei mehrzeiligem Text bei gesetztem Modifikator /m nicht auf Zeilenumbrüche reagieren.
Das . Metazeichen findet standardmässig irgendein beliebiges Zeichen, also auch Zeilenseparatoren. Wenn Sie den Modifikator /s ausschalten, dann findet '.' keine Zeilenseparatoren mehr.
^ ist am Anfang des Eingabestrings, und, falls der Modifikator /m gesetzt ist, auch unmitelbar folgend einem Vorkommen von \x0D\x0A oder \x0A or \x0D. Beachten Sie, dass es in der Sequenz \x0D\x0A keine leere Zeile gibt. Diese beiden Zeichen werden atomar behandelt.
$ ist am Anfang des Eingabestrings, und, falls der Modifikator /m gesetzt ist, auch unmitelbar vor einem Vorkommen von \x0D\x0A oder \x0A or \x0D. Beachten Sie, dass es in der Sequenz \x0D\x0A keine leere Zeile gibt. Diese beiden Zeichen werden atomar behandelt.
. findet ein beliebiges Zeichen. Wenn der Modifikator /s ausgestellt ist, dann findet . keine Zeilensearaptoren \x0D\x0A und \x0A und \x0D mehr.
Beachten Sie, dass ^.*$ (was auch eine leere Zeile findet können sollte) dennoch nicht den leeren String innerhalb der Sequence \x0D\x0A findet, aber es findet den Leerstring innerhalb der Sequenz \x0A\x0D.