Soll im Suchmuster ein Metazeichen als normales Zeichen verwendet werden (z.B. der Punkt als Satzzeichen anstatt der Punkt als Metazeichen), so muß es mit einem vorangestellten Backslash maskiert werden. Der Backslash (in seiner Funktion als normales Zeichen) muß auch maskiert werden.
Daneben gibt es eine Reihe von allgemeinen Ausdrücken, die mit dem Backslash eingeleitet werden.
Gruppen von Zeichen beschreiben
Für einige Ausdrücke, die normalerweise als Zeichenklasse angegeben werden, existieren Kurzschreibweisen, die durch einen Backslash eingeleitet werden.
Alle Ziffern
Die Angabe \d (engl. digit ⇒ Ziffer) steht für alle
Dezimalziffern, ist also eine Kurzschreibweise für die Zeichenklasse
[0-9]
die ebenfalls auf alle Ziffern von null bis neun zutrifft.
Wird das \D groß geschrieben, so kehrt sich seine Bedeutung um (das gilt
übrigens für alle folgenden Kurzschreibweisen). \D
steht also für alle Zeichen außer Ziffern, das entspricht der Angabe der Zeichenklasse
[^0-9], die alle Ziffern ausschließt.
Das Reguläre Ausdruck
#\d\D\d#
steht also für eine Ziffer, gefolgt von einer Nicht-Ziffer, die wiederum
von einer Ziffer gefolgt wird.
Alle Leerzeichen
Die Angabe \s (engl. space ⇒ Leerzeichen) steht für
jegliche Art von Leerzeichen, seien es einfache Leerzeichen, Zeilenumbrüche
oder Tabulatoren. Äquivalent steht ein groß geschriebenes \S für jedes Zeichen,
das kein Leerzeichen ist.
Der Reguläre Ausdruck
#\d\s\d#
steht also für eine Ziffer, gefolgt von einem beliebigen Leerzeichen, das wiederum
von einer Ziffer gefolgt wird. Dabei ist es egal, ob das Leerzeichen ein
einfaches Leerzeichen ist, oder aber ein Zeilenumbruch oder ein Tabulator-Zeichen.
Alle Wortzeichen
Die Angabe \w (engl. word ⇒ Wort) steht für alle Wortzeichen,
also alle Buchstaben, Ziffern und Unterstriche, was gleichbedeutend mit der
Zeichenklasse [a-zA-Z0-9_]
ist.
Auch hier gilt: Wird das \W groß geschrieben, kehrt sich seine Bedeutung um.
\W steht also für alle Zeichen außer den Wortzeichen, was der Zeichenklasse
[^a-zA-Z0-9_] entspricht.
Der Reguläre Ausdruck
#\w\W\w#
steht also für ein beliebiges Wortzeichen, gefolgt von einem Zeichen, das
kein Wortzeichen ist, wiederum gefolgt von einem weiteren Wortzeichzen.
Einfache Assertions
Assertions (engl. to assert ⇒ behaupten) sind Zeichen im Suchmuster, die eine bestimmte Aussage treffen, dabei aber keineeigentliche Entsprechung im zu durchsuchenden Text haben.
Zu den einfachen Assertions gehören auch die Metazeichen Accent Zirkumflex und das Dollarzeichen, die Beginn und Ende eines Textes festlegen, im zu durchsuchenden Text aber keinen Platz belegen.
Daneben gibt es noch ein paar wesentlich komplexere Assertions, die deswegen auch in einem eigenen Kapitel behandelt werden.
Wortgrenzen
Durch die Angabe \b kann man festlegen, die sich an der jeweiligen Stelle eine
Wortgrenze befindet, also ein Übergang von einem Wortzeichen zu einem Nicht-Wortzeichen
oder umgekehrt.
Der Reguläre Ausdruck
/huhn\b/
findet die Textstelle huhn in
das huhn ist rund aber nicht in
das huhnschen ist rund.
Auch hier läßt sich die Bedeutung umkehren,
\B steht also für
keine Wortgrenze.
Darstellung nicht sichtbarer Zeichen
Mit dem Backslash lassen sich außerdem nicht-sichtbare Zeichen
mittels ihres Zeichencodes darstellen. So kann man mittels
\n
ein Zeilenumbruch bzw. mittels
\r\n
ein Wagenrücklauf und ein Zeilenumbruch darstellen.
Auch Tabulatoren können mittels
\t
dargestellt werden.
Es lassen sich noch jede Menge weitere Zeichen darstellen, ausführliche Informationen dazu finden sich wie immer im PHP-Manual.
Verwandte Themen
Kapitelnavigation
- Letzte Änderung: 05.04.2012, 16:11:10
- © 2003 - 2012 nophia web