Erstellen eines regulären Ausdrucks

Ein regulärer Ausdruck beschreibt eine oder mehrere Zeichenfolgen, für die beim Durchsuchen eines Textkörpers eine Übereinstimmung gefunden werden soll. Der reguläre Ausdruck dient als Zeichenmuster, das mit dem gesuchten Text verglichen wird.

Reguläre Ausdrücke werden analog zu arithmetischen Ausdrücken erstellt. Das heißt, große Ausdrücke können aus einer Vielzahl von Metazeichen und Operatoren zusammengesetzt werden.

Die Komponenten eines regulären Ausdrucks können einzelne Zeichen, Gruppen von Zeichen, Zeichenbereiche oder eine Auswahl von Zeichen sein. Komponenten können auch eine beliebige Kombination dieser Komponenten sein.

Konstruieren eines regulären Ausdrucks

Sie konstruieren einen regulären Ausdruck, indem Sie die verschiedenen Komponenten des Ausdrucks zwischen zwei Trennzeichen setzen. In JScript werden zwei Schrägstriche (//) als Trennzeichen verwendet, wie im folgenden Beispiel veranschaulicht.

/expression/

Beispiele für reguläre Ausdrücke

Die folgende Tabelle enthält Beispiele für typische reguläre Ausdrücke.

Regulärer Ausdruck

Beschreibung

/^\s*$/

Entspricht einer leeren Zeile.

/\d{2}-\d{5}/

Entspricht einer ID-Nummer, die aus zwei Ziffern, einem Bindestrich und weiteren fünf Ziffern besteht.

/<\s*(\S+)(\s[^>]*)?>[\s\S]*<\s*\/\1\s*>/

Entspricht einem HTML-Tag.

Normale Zeichen

Die einfachste Form eines regulären Ausdrucks ist ein einzelnes, normales Zeichen, das mit der gesuchten Zeichenfolge verglichen wird. Beispiel: Der reguläre Ausdruck A, der aus einem Zeichen besteht, entspricht dem Buchstaben A, wo immer dieser in der gesuchten Zeichenfolge auftritt.

Im Folgenden finden Sie einige Beispiele für reguläre JScript-Ausdrücke, die aus einem Zeichen bestehen.

/a/
/7/
/M/

Sie können eine Reihe von einzelnen Zeichen zu einem größeren Ausdruck zusammenfügen. Der Ausdruck /the/ entspricht beispielsweise "the" in den folgenden gesuchten Zeichenfolgen: "the", "there", "other" und "over the lazy dog".

Es wird kein Verkettungsoperator benötigt. Die einzelnen Zeichen müssen lediglich nacheinander angegeben werden.

Metazeichen

Zusätzlich zu gewöhnlichen Zeichen kann ein regulärer Ausdruck Metazeichen enthalten. Ein Beispiel für ein Metazeichen ist \d; dies entspricht einem Ziffernzeichen.

Weitere Informationen finden Sie unter Syntax regulärer Ausdrücke.

Normale Zeichen umfassen alle druckbaren und nicht druckbaren Zeichen, die nicht explizit als Metazeichen festgelegt sind. Hierzu gehören alle Groß- und Kleinbuchstaben, alle Ziffern, alle Satzzeichen und bestimmte Symbole.

Entsprechungen beliebiger Zeichen

Der Punkt (.) entspricht einem beliebigen druckbaren oder nicht druckbaren Zeichen in einer Zeichenfolge mit Ausnahme des Zeilenumbruchzeichens (\n). Der reguläre Ausdruck /a.c/ entspricht "aac", "abc", "acc", "adc", "a1c", "a2c", "a-c" und "a#c".

Um in der gesuchten Zeichenfolge einen Punkt (.) zu suchen, stellen Sie dem Punkt im Ausdruck einen umgekehrten Schrägstrich (\) voran. Der Ausdruck /filename\.ext/ entspricht "filename.ext".

Listen von entsprechenden Zeichen

Sie können eine Liste entsprechender Zeichen erstellen, indem Sie ein oder mehrere einzelne Zeichen in eckige Klammern ([ und ]) einschließen.

Jedes Zeichen in einem Klammerausdruck entspricht nur einem einzelnen Zeichen an der Position im regulären Ausdruck, an der der Klammerausdruck angezeigt wird. Beispielsweise entspricht der Ausdruck /Chapter [12345]/ "Chapter 1", "Chapter 2", "Chapter 3", "Chapter 4" und "Chapter 5".

Um die entsprechenden Zeichen statt durch die Zeichen selbst anhand eines Bereichs anzugeben, verwenden Sie den Bindestrich (-). Der Ausdruck /Chapter [1-5]/ entspricht dem Ausdruck /Chapter [12345]/.

Sie können alle Zeichen suchen, die nicht in der Liste oder im Bereich enthalten sind, indem Sie am Anfang der Liste ein Caretzeichen (^) angeben. Beispielsweise entspricht der Ausdruck /[^aAeEiIoOuU]/ allen Zeichen, die keine Vokale sind.

Weitere Informationen hierzu finden Sie unter Listen von entsprechenden Zeichen.

Quantifizierer

Sie können mithilfe von Quantifizierern einen regulären Ausdruck angeben, in dem sich ein Zeichen oder eine Reihe von Zeichen mit einer bestimmten Häufigkeit wiederholen.

Ein Quantifizierer bezieht sich auf den Ausdruck unmittelbar vor dem (links vom) Quantifizierer.

Quantifizierer werden in geschweifte Klammern {} eingeschlossen und enthalten Zahlenwerte, die die minimale und maximale Häufigkeit des Vorkommens angeben. c{1,2} entspricht beispielsweise 1 oder 2 Vorkommen des Buchstabens c.

Wenn nur ein Zahlenwert angegeben wird, wird dieser als Obergrenze verwendet, es sei denn, darauf folgt ein Komma. c{3} entspricht beispielsweise genau 3 Vorkommen des Buchstabens c, und c{5,} entspricht 5 oder mehr Vorkommen des Buchstabens c.

Einzelzeichenquantifizierer sind ebenfalls verfügbar, wie in der folgenden Tabelle veranschaulicht.

Quantifizierer

Expliziter Quantifizierer

Bedeutung

*

{0,}

Entspricht dem vorangehenden Element nicht oder mehrmals.

+

{1,}

Entspricht dem vorangehenden Element einmal oder mehrmals.

?

{0,1}

Entspricht dem vorangehenden Element nicht oder einmal.

Nachfolgend sind einige Beispielausdrücke sowie die entsprechenden Suchzeichenfolgen angegeben.

Regulärer Ausdruck

Bedeutung des Quantifizierers

Entsprechungen

/Chapter [1-9][0-9]{0,}/ oder

/Chapter [1-9][0-9]*/

Entspricht [0-9] einmal oder mehrmals.

"Chapter 1", "Chapter 25", "Chapter 401320"

/Chapter [0-9]{1,2}/

Entspricht [0-9] einmal oder zweimal.

"Chapter 0", "Chapter 03", "Chapter 1", "Chapter 25", "Chapter 40"

/Chapter [1-9][0-9]{0,1}/ oder

/Chapter [1-9][0-9]?/

Entspricht [0-9] nicht oder einmal.

"Chapter 1", "Chapter 25", "Chapter 40"

Weitere Informationen finden Sie unter Quantifizierer in JScript.

Zeilen- und Wortbegrenzungen

Mithilfe von Ankern können Sie angeben, dass ein regulärer Ausdruck am Beginn oder Ende der gesuchten Zeichenfolge oder am Beginn oder Ende einer Zeile oder eines Worts in der gesuchten Zeichenfolge stehen muss, damit eine Übereinstimmung erzielt wird. Weitere Informationen finden Sie unter Anchor.

Angeben von Alternativen

Das Zeichen "|" gibt an, dass zwei oder mehr Alternativen eine Übereinstimmung darstellen. Beispielsweise stimmt der reguläre JScript-Ausdruck /(Chapter|Section) [1-9]/ mit den folgenden Zeichenfolgen überein: "Chapter 1", "Chapter 9" und "Section 2". Weitere Informationen finden Sie unter Alternierung und Teilausdrücke.

Verwenden von Teilübereinstimmungen

Klammern werden in einem regulären Ausdruck verwendet, um einen Teilausdruck zu erstellen. Die resultierende Teilübereinstimmung kann vom Programm abgerufen werden. Weitere Informationen finden Sie unter Alternierung und Teilausdrücke.

Sie können innerhalb eines regulären Ausdrucks und innerhalb einer Ersetzungszeichenfolge auf einen Teilausdruck verweisen. Weitere Informationen finden Sie unter Rückverweise in JScript.

Siehe auch

Konzepte

Programmieren mit regulären Ausdrücken

Syntax regulärer Ausdrücke