| Die wichtigsten Sprachelemente von Regex |
| Im folgenden sind die wichtigsten Sprachelemente von Regex in aller Kürze dargestellt. Eine vollständige und ausführliche Beschreibung findet sich in der SDK-/MSDN-Doku im Abschnitt "Reguläre Ausdrücke von .NET Framework". |
|
| Basics |
| zeichen | Alle Zeichen außer . ^ $ * + ? { [ ( | ) \ stehen für sich selbst. Durch einen vorangestellten \ stehen auch diese Sonderzeichen für sich selbst. |
| . | Steht für ein beliebiges Zeichen mit Ausnahme von \n; bei RegexOptions.Singleline für ein bel. Zeichen inkl. \n. |
| ^ | Steht für den Anfang der gesamten Zeichenfolge; bei RegexOptions.Multiline für den Anfang einer bel. Zeile. |
| $ | Steht für das Ende der gesamten Zeichenfolge; bei RegexOptions.Multiline für das Ende einer bel. Zeile. |
|
| \n | Steht für ein Zeilenvorschubzeichen (0x0a). |
| \r | Steht für ein Wagenrücklaufzeichen (0x0d). |
| \t | Steht für ein Tabstoppzeichen (0x09). |
| \xnn | Steht für ein Zeichen mit dem hexadezimalen Ascii-Code nn. |
| \unnnn | Steht für ein Zeichen mit dem hexadezimalen Unicode nnnn. |
|
| Zeichenklasssen |
| [ ] | Steht für ein beliebiges einzelnen Zeichen, das in dem angegebenen Satz von Zeichen enthalten ist. |
| [^ ] | Steht für ein beliebiges einzelnen Zeichen, das nicht in dem angegebenen Satz von Zeichen enthalten ist. |
| [A-F] | Durch die Verwendung eines Bindestrichs (-) können aneinandergrenzende Zeichenbereiche angegeben werden. |
|
| \w | Steht für ein beliebiges Wortzeichen. |
| \W | Steht für ein beliebiges Nicht-Wortzeichen. |
| \b | Steht für die Position zwischen \w und \W. |
| \s | Steht für ein beliebiges Leerraumzeichen. |
| \S | Steht für ein beliebiges Nicht-Leerraumzeichen. |
| \d | Steht für eine beliebige Dezimalziffer. |
| \D | Steht für eine beliebige Nicht-Dezimalziffer. |
|
| Wiederholungen (Quantifizierer) |
| * | Steht für null oder mehr Wiederholungen (des vorangegangenen Musters). |
| + | Steht für eine oder mehr Wiederholungen. |
| ? | Steht für null oder eine Wiederholung. |
| {n} | Steht für genau n Wiederholungen. |
| {n,} | Steht für mindestens n Wiederholungen. |
| {n,m} | Steht für mindestens n und höchstens m Wiederholungen. |
| | Quantifizierer sind gierig und finden die längstmögliche Folge von Wiederholungen; mit einem ? hinter einem Quantifizierer (z.B. *?) wird stattdessen die kürzestmöglichste Folge von Wiederholungen gefunden. |
|
| Gruppen |
| ( ) | Fasst ein Teilmuster zusammen und speichert den passenden Text in Groups [i], wobei i die 1-basiere Nummer der Gruppe ist. |
| (?<name> ) | Fasst ein Teilmuster zusammen und speichert den passenden Text in Groups [name]. |
| (?: ) | Fasst ein Teilmuster zusammen, ohne den passenden Text zu speichern. |
| (?= ) | Positive Lookahead-Bedingung: Das Teilmuster muss rechts von dieser Position passen. |
| (?! ) | Negative Lookahead-Bedingung: Das Teilmuster darf rechts von dieser Position nicht passen. |
| (?<= ) | Positive Lookbehind-Bedingung: Das Teilmuster muss links von dieser Position passen. |
| (?<! ) | Negative Lookbehind-Bedingung: Das Teilmuster darf links von dieser Position nicht passen. |
|
| Weitere Konstrukte |
| | | Steht für eines der Teilmuster, die durch | getrennt werden. |
| \zahl | Rückverweis, der für den passenden Text der Gruppe zahl steht. |
| \<name> | Rückverweis, der für den passenden Text der Gruppe name steht. |
|
| RegexOptions |
| IgnoreCase | Bei Übereinstimmungen wird die Groß-/Kleinschreibung nicht berücksichtigt. |
| Singleline | Ändert die Bedeutung des Punktes (.) so, dass dieser für jedes beliebige Zeichen steht (und nicht jedes beliebige Zeichen mit Ausnahme von \n). |
| Multiline | Ändert die Bedeutung von ^ und $ so, dass sie jeweils für den Anfang und für das Ende einer beliebigen Zeile stehen (und nicht nur für den Anfang und für das Ende der gesamten Zeichenfolge). |
| ExplicitCapture | Nur für explizit benannte Gruppen (?<name> ) werden passende Texte gespeichert. |