Freigeben über


Reguläre Ausdrücke als Sprache

Aktualisiert: November 2007

Die Sprache der regulären Ausdrücke wurde zur Bearbeitung von Text entwickelt und optimiert. Sie besteht aus zwei Basiszeichentypen: Literale (normale) Textzeichen und Metazeichen. Die Menge der Metazeichen trägt zur Verarbeitungsleistung regulärer Ausdrücke bei.

Sie sind vermutlich bereits mit den Metazeichen "?" und "*" vertraut, die innerhalb des DOS-Dateisystems als Platzhalter für ein einzelnes Zeichen bzw. eine Zeichengruppe verwendet werden. Der DOS-Befehl COPY *.DOC A: weist das Dateisystem an, alle Dateien mit der Dateierweiterung .DOC auf die Diskette in Laufwerk A zu kopieren. Das Metazeichen "*" steht dabei für einen beliebigen Dateinamen vor der Dateierweiterung .DOC. Reguläre Ausdrücke erweitern dieses Prinzip und stellen eine große Anzahl an Metazeichen bereit, mit denen sehr komplexe Ausdrücke mit relativ wenigen Zeichen beschrieben werden können.

Ein Beispiel: Wird der reguläre Ausdruck "\s2000" auf einen Text angewendet, stimmt er mit allen Instanzen der Zeichenfolge "2000" überein, denen eine Leerstelle (z. B. ein Leerzeichen oder ein Tabulator) vorangestellt ist.

Hinweis:

Wenn Sie die Programmiersprachen C++, C# oder JScript verwenden, muss den speziellen Escapezeichen, z. B. \s, ein weiterer umgekehrter Schrägstrich vorangehen (z. B. "\\s2000"), um den umgekehrten Schrägstrich als literales Zeichen innerhalb der Escapesequenz zu kennzeichnen. Andernfalls werden der umgekehrte Schrägstrich und das "s" in "\s" als zwei getrennte Operatoren interpretiert. Bei Verwendung von Visual Basic 2005 müssen Sie den umgekehrten Schrägstrich nicht hinzufügen. Bei Verwendung von C# können Sie C#-Literalzeichenfolgen verwenden, denen das Präfix "@" vorangestellt ist. Dadurch wird die Escapefunktion unterbunden (z. B. @"\s2000").

Mit regulären Ausdrücken können auch komplexere Suchabfragen durchgeführt werden. Beispielsweise wird mit dem regulären Ausdruck "(?<char>\w)\k<char>" unter Verwendung von benannten Gruppen und Rückverweisen nach benachbarten, paarweise auftretenden Zeichen gesucht. Angewendet auf die Zeichenfolge "Der Ball prallte gegen die Latte" werden Übereinstimmungen in den Wörtern "Ball", "prallte" und "Latte" gefunden. (Weitere Informationen über reguläre Ausdrücke finden Sie unter Rückverweise.)

Der folgende Abschnitt stellt im Detail die Metazeichen vor, durch die die Sprache der regulären Ausdrücke von .NET Framework definiert ist, und beschreibt, wie Sie mit Klassen regulärer Ausdrücke solche Ausdrücke in Ihren Anwendungen implementieren können.

Siehe auch

Konzepte

Klassen regulärer Ausdrücke

Referenz

System.Text.RegularExpressions

Weitere Ressourcen

Einzelheiten zum Verhalten regulärer Ausdrücke

Beispiele für reguläre Ausdrücke

Sprachelemente für reguläre Ausdrücke