Zeichen mit besonderer Bedeutung - Metazeichen

Um mit Hilfe von Regulären Ausdrücken ein Suchmuster zu beschreiben, benötigt man Zeichen, die eine spezielle Funktion erfüllen, und somit nicht zum zu suchenden Text an sich gehören. Diese Zeichen werden Metazeichen genannt.

Soll ein Metazeichen als normales Zeichen und nicht als Metazeichen behandelt werden, muss es maskiert werden. Dies geschieht mit Hilfe des Backslashs. Da der Backslash auch ein Metazeichen ist, muss, wenn im Suchmuster ein Backslash als normales Zeichen verwendet werden soll, dieser auch maskiert werden.

Der Punkt

Der Punkt . steht für jedes beliebige Zeichen (außer für einen Zeilenumbruch). Kann also der zu untersuchende Text an einer Stelle beliebige Zeichen beinhalten, so lässt sich das mit dem Punkt ausdrücken.

Weiß man zum Beispiel die korrekte Schreibweise eines Namens nicht, so findet dieser Ausdruck /Me.er/ in einem Text sowohl den Namen Meier als auch Meyer. Aber Achtung: Da der Punkt für jedes Zeichen steht, findet der Reguläre Ausdruck auch Texte wie Meder, Meper, Me0er u.s.w.

Soll sich dieser beliebige Text auch über mehrere Zeilen fortsetzen können, so kann dies mit Hilfe des Modifiers s festgelegt werden. Damit trifft der Punkt auch auf Zeilenumbrüche zu.

Das Accent Zirkumflex

Um sicherzustellen, dass der Anfang des Suchmusters auch genau und ausschließlich auf den Anfang des zu durchsuchenden Textes zutrifft, kann man das Accent Zirkumflex ^ benutzen. Es wird dem Suchmusters vorangestellt. Somit würde der Reguläre Ausdruck ~^http://~ auf die Zeichenkette http://www.abc.de zutreffen, auf index.php?u=http://www.abc.de aber nicht, da hier der Text http nicht wie angegeben am Anfang des Textes steht.

Das Zirkumflex hat noch eine weitere Bedeutung in Verbindung mit Zeichenklassen.

Das Dollarzeichen

Das Dollarzeichen $ ist das Gegenstück zum Zirkumflex. Es bezieht sich auf das Ende des Suchmusters, welches mit dem Ende des Textes übereinstimmen muss. Der Reguläre Ausdruck /foobar$/ trifft auf die Zeichenkette vieltextvorfoobar zu, aber nicht auf vieltextvorfoobardahinterauch, da hier foobar nicht am Ende des Textes steht. Zirkumflex und Dollarzeichen lassen sich natürlich auch kombinieren, so dass ein Suchmuster auf Anfang und Ende des zu durchsuchenden Textes zutreffen muss.

Der Ausdruck /^foobar$/ trifft somit nicht auf textvorfoobar und foobartextdahinter zu, sondern nur auf den Text foobar.

Die Pipe

Mit dem Pipe-Zeichen | lässt sich ein ODER beschreiben. Der Text muss also entweder dieses oder jenes enthalten. Der Reguläre Ausdruck /test(rakete|flug)/ trifft auf die Zeichenkette testrakete genauso zu, wie auf testflug.

Analog lassen sich auch mehr als zwei Bedingungen per | verknüpfen. Der Ausdruck /test(rakete|flug|hund|katze)/ trifft also auf die Zeichenketten testrakete, testflug, testhund und testkatze zu.

Fragezeichen, Stern und Plus

Die Zeichen ?, * und + werden verwendet, um Aussagen über Anzahl und Wiederholung von Zeichen oder Zeichengruppen zu treffen. Sie gehören zu den Quantifiern, die in einen eigenen Kapitel behandelt werden.

Runde Klammern

Mit runden Klammern () lassen sich Bereiche im Suchmuster zu Unterausdrücken zusammenfassen, auf die man unter anderem auch wieder zurückgreifen kann.

Eckige Klammern

Mit Hilfe der eckigen Klammern [] kann man Bereiche von Zeichen (a-f, alle Ziffern, ...), sogenannte Zeichenklassen definieren.

Geschweifte Klammern

Mit geschweiften Klammern kann man ebenfalls Angaben zu Anzahl und Wiederholung von Zeichen machen, sie {} zählen also auch zu den Quantifiern.

Der Backslash

Der Backslash \ dient unter anderem zum Maskieren von nicht alpha-numerischen Zeichen innerhalb des Suchmusters. Außerdem erfüllt er noch eine Menge anderer Funktionen - so viele, dass ihm ein eigenes Kapitel gewidmet wurde.

Der Bindestrich

Der Bindestrich - wird nur innerhalb von Zeichenklassen als Metazeichen interpretiert, er dient dort zur Angabe von Zeichenbereichen.

Verwandte Themen
Kapitelnavigation