English | česky | >> Deutsch << | Español ZVON > Tutorials > Regular Expressions Tutorial
Reguläre Ausdrücke

Inhalt

 Beispiel 1Reguläre Ausdrücke sind abhängig von der Goß- und Kleinschreibung. Im Fall 1 wird der spezifizierte Text gefunden, aber im Fall 2 nicht.
 Beispiel 2Jedes Zeichen innerhalb eines Suchmusters ist wichtig. Auch sogenannte "Whitespace Characters" wie z.B. Leerzeichen, Tabulator, Zeilenumbrüche.
 Beispiel 3Einige Zeichen haben eine ganz besondere Bedeutung. Das Zeichen ^ bezieht sich auf den Anfang einer Zeile (Fall 1) während das Dollar-Zeichen $ sich auf das Ende einer Zeile bezieht (Fall 2)
 Beispiel 4Wenn ein Zeichen benutzt werden soll, welches eigentlich als Sonderzeichen vorgesehen ist, so muss es mit ein Backslash \ markiert werden. Das \ ist in diesem Fall ein sog. Escape-zeichen. Fall 1 findet nichts, da beide Zeichen Sonderzeichen sind, Fall 2 findet alle $, Fall 3 findet $ als erstes Zeichen, und Fall 4 als letzes Zeichen. Der Backslash hat ebenfalls eine besondere Bedeutung und muss, falls nach ihm gesucht werden soll ebenfalls markiert (escaped) werden, siehe (Fall 5).
 Beispiel 5Der Punkt . findet ein(!) beliebiges Zeichen.
 Beispiel 6Wenn ein Punkt gefunden werden soll, dann muss er mit einem sog. Escape-Zeichen, hier "\", markiert werden.
 Beispiel 7Innerhalb eckiger Klammern "[]" kann eine Liste von Zeichen angegeben werden. Man spricht hier auch von einer Charakter-Klasse. Der Ausdruck erzeugt dann einen Treffer, wenn einer von diesen Zeichen gefunden wurde. Die Reihenfolge spielt keine Rolle. (Fall 3)
 Beispiel 8Ein Bereich von Zeichen kann innerhalb einer Charakter-Klasse mit der [ - ] Syntax definiert werden. Fall 1 und Fall 2 sind gleichbedeutend. Verschiedene Bereiche können in einem Ausdruck definiert werden (Fall 5).
 Beispiel 9Wenn vor einem Zeichenbereich ein ^ gesetzt wird, gilt das wie ein "Nicht". Das so spezifizierte Zeichen wird aus der Ergebnismenge ausgeschlossen.
 Beispiel 10Alternative Zeichenfolgen (Oder-Beziehung) können in einfachen Klammern () gesetzt und mit einem | voneinander getrennt werden.
 Beispiel 11Quantifizierer bestimmen wie oft ein Zeichen oder eine Zeichenfolge innerhalb eines Suchtextes vorkommen darf. Das Sternchen * (Fall 1) bedeutet null oder beliebig oft, das Pluszeichen + (Fall 2) bedeutet einmal oder beliebig oft. Das Fragezeichen ? (Fall 3) bedeutet null oder einmal. Quantifizierer werden direkt hinter dem gemeinten Zeichen gesetzt. In dem folgenden Beispiel bezieht sich der Quantifizierer also immer auf das a vor einem b.
 Beispiel 12Verschiedene Beispiele für den "*" Quantifizierer
 Beispiel 13Verschiedene Beispiele für den "+" Quantifizierer
 Beispiel 14Verschiedene Beispiele für den "?" Quantifizierer
 Beispiel 15Geschweifte Klammern ermöglichen eine exakte Angabe der Zeichenwiederholung (Quantifizierung). {m} trifft genau m mal (Fall 1), {m,n} findet mindestens m and maximal n mal (Fall 2) und {m,} findet mindestens m mal (Fall 3).
 Beispiel 16Die Quantifizierer "*", "+", und "?" sind Kurzformen für bestimmte Quantifizierungen innerhalb der Klammerschreibweisen {}. Zum Beispiel ist "*" gleichbedeutend mit {0,} (Fall 1, Fall 2), "+" mit {1,} (Fall 3, Fall 4), und "?" mit {0,1} (Fall 5, Fall 6).
 Beispiel 17Standardmässig erzielt jedesTeilmuster soviele Treffer, wie nur möglich. Dieses Verhalten ändert sich, wenn dem Quantifizierer ein Fragezeichen folgt. Vergleiche "*" (Fall 1) mit "*?" (Fall 2), "+" (Fall 3) mit "+?" (Fall 4), und "?" (Fall 5) mit "??" (Fall 6).
 Beispiel 18\w findet ein beliebiges alphanumerisches Zeichen (inkl. "_"). In einigen Implementierungen steht diese Abkürzung nicht zur Verfügung. Hier muss die Ausdruck wie folgt in einer Charakter-Klasse beschrieben werden ("[A-z0-9_]") siehe (Fall 5).
 Beispiel 19\W findet alle Nicht-Alphanummerischen-Zeichen (außer "_" ). Vergleiche Fall 1 mit Fall 2. Diese Kurzform ist identisch mit dem Ausdruck "[^A-z0-9_]".
 Beispiel 20\s findet alle Leerraumzeichen: Leerzeichen, Zeilenumbruch und Tabulator. \S findet alle Nicht-Leerraumzeichen.
 Beispiel 21\d findet alle Zahlen und \D alles andere. Vergleiche Fall 1 and Fall 2. Benutze "[0-9]" falls die gewählte Programmiersprache diese Abkürzung nicht unterstützt, siehe (Fall 3).
 Beispiel 22\b findet eine Wortbegrenzung. Eine Wortbegrenzung liegt zwischen zwei Zeichen, wobei das eine über \w und das andere \W zu identifizieren wäre.
 Beispiel 23\B findet alles, was nicht zu einer Wortbegrenzung gehört. Eine Wortbegrenzung (\b) liegt zwischen zwei Zeichen, wobei das eine über \w und das andere \W zu identifizieren wäre.
 Beispiel 24\A selektiert vom Anfang der Zeichenkette an. Die Abkürzung ist Vergleichbar mit ^ (innerhalb einer Charakter-Klasse), aber ^ erzeugt auch Treffer nach einem Zeilenumbruch. Genauso wie \Z, welches ausgehend vom Ende einer Zeichenkette die Ergbnisse findet. \Z wiederum ist Vergleichbar mit $, aber $ wird auch bei jedem Zeilenumbruch 'aktiv'.
 Beispiel 25(?=<Muster>) schaut Voraus, ob das Muster existiert, aber bezieht es nicht in das Suchergebniss mit ein.
 Beispiel 26(?!<Muster>) schaut Voraus, ob das Muster existiert. Wenn es vorkommt, wird ein Treffer unterdrückt.