Kurzübersicht der regulären Ausdrucks-Syntax
Diese Seite bietet eine allgemeine Übersicht über alle Funktionen der RegExp
-Syntax, indem sie die Inhalte der Artikel im RegExp
-Leitfaden zusammenführt. Wenn Sie weitere Informationen zu einem bestimmten Thema benötigen, folgen Sie bitte dem Link in der entsprechenden Überschrift, um auf den vollständigen Artikel zuzugreifen, oder gehen Sie zu dem Leitfaden.
Zeichenklassen
Zeichenklassen unterscheiden Arten von Zeichen, zum Beispiel die Unterscheidung zwischen Buchstaben und Ziffern.
Zeichen | Bedeutung |
---|---|
[xyz] |
Zeichenklasse: Passt zu einem der eingeschlossenen Zeichen. Sie können eine Zeichenfolge durch ein Minus angeben, aber wenn das Minus als erstes oder letztes Zeichen innerhalb der eckigen Klammern erscheint, wird es als wörtliches Minus betrachtet und in die Zeichenklasse als normales Zeichen aufgenommen.
Zum Beispiel ist
Zum Beispiel passen
Zum Beispiel ist |
|
Negierte Zeichenklasse:
Passt zu allem, was nicht in den eckigen Klammern enthalten ist. Sie können eine Zeichenreihe durch ein Minus angeben, aber wenn das Minus als erstes Zeichen nach dem Hinweis: Das ^ Zeichen kann auch den Anfang des Eingabebereichs kennzeichnen. |
. |
Wildcard:
Passt zu jedem einzelnen Zeichen, mit Ausnahme von Zeilenbegrenzern:
|
\d |
Ziffernzeichenklassenflucht:
Passt zu jeder Ziffer (arabische Zahl). Entspricht |
\D |
Nicht-Ziffern-Zeichenklassenflucht:
Passt zu jedem Zeichen, das keine Ziffer (arabische Zahl) ist. Entspricht
|
\w |
Wörter-Zeichenklassenflucht:
Passt zu jedem alphanumerischen Zeichen des Basislateinalphabets,
einschließlich des Unterstrichs. Entspricht |
\W |
Nicht-Wörter-Zeichenklassenflucht:
Passt zu jedem Zeichen, das kein Wortzeichen aus dem Basislateinalphabet ist. Entspricht
|
\s |
Leerraum-Zeichenklassenflucht:
Passt zu einem einzelnen Leerzeichen, einschließlich Leerzeichen, Tabulator, Form-Feed, Zeilenvorschub und anderen Unicode-Leerräumen. Entspricht
|
\S |
Nicht-Leerraum-Zeichenklassenflucht:
Passt zu einem einzelnen Zeichen, das kein Leerraum ist. Entspricht
|
\t |
Passt zu einem horizontalen Tabulator. |
\r |
Passt zu einem Wagenrücklauf. |
\n |
Passt zu einem Zeilenumbruch. |
\v |
Passt zu einem vertikalen Tabulator. |
\f |
Passt zu einem Form-Feed. |
[\b] |
Passt zu einem Rückschritt. Wenn Sie nach der Wortgrenzen-Assertion (\b ) suchen, siehe
Assertions.
|
\0 |
Passt zu einem NUL-Zeichen. Folgen Sie diesem nicht mit einer weiteren Ziffer. |
\cX |
Passt zu einem Steuerzeichen unter Verwendung der
Caret-Notation, wobei "X" ein Buchstabe von A–Z ist (entsprechend den Codepunkten |
\xhh |
Passt zu dem Zeichen mit dem Code hh (zwei hexadezimale Ziffern). |
\uhhhh |
Passt zu einer UTF-16-Codeeinheit mit dem Wert
hhhh (vier hexadezimale Ziffern).
|
\u{hhhh} oder \u{hhhhh} |
(Nur wenn das u -Flag gesetzt ist.) Passt zu dem Zeichen mit
dem Unicode-Wert U+hhhh oder U+hhhhh
(hexadezimale Ziffern).
|
\p{UnicodeProperty} ,
\P{UnicodeProperty}
|
Unicode-Zeichenklassenflucht: Passt zu einem Zeichen basierend auf seinen Unicode-Zeichen-Eigenschaften: zum Beispiel Emoji-Zeichen, oder japanische Katakana-Zeichen, oder chinesische/japanische Han/Kanji-Zeichen, etc. |
\ |
Gibt an, dass das folgende Zeichen speziell behandelt oder "entkommen" soll. Es kann auf zwei Arten funktionieren.
Hinweis: Um dieses Zeichen wörtlich zu finden, entkommen Sie es mit sich selbst. Mit anderen Worten: um nach |
x|y |
Disjunktion:
Passt entweder zu "x" oder "y". Jede Komponente, die durch eine Pipe ( Hinweis: Eine Disjunktion ist eine andere Möglichkeit, "eine Auswahlmenge" anzugeben, ist jedoch keine Zeichenklasse. Disjunktionen sind keine Atome — Sie müssen eine Gruppe verwenden, um sie Teil eines größeren Musters zu machen. |
Assertions
Assertions enthalten Grenzen, die die Anfänge und Enden von Zeilen und Wörtern anzeigen, und andere Muster, die auf irgendeine Weise anzeigen, dass ein Treffer möglich ist (einschließlich Look-ahead, Look-behind und bedingte Ausdrücke).
Boundary-type Assertions
Zeichen | Bedeutung |
---|---|
^ |
Eingabebereich-Anfangs-Assertion:
Passt zum Anfang der Eingabe. Wenn das Hinweis: Dieses Zeichen hat eine andere Bedeutung, wenn es zu Beginn einer Zeichenklasse erscheint. |
$ |
Eingabebereich-Ende-Assertion:
Passt zum Ende der Eingabe. Wenn das |
\b |
Wortgrenzen-Assertion: Passt zu einer Wortgrenze. Dies ist die Position, an der ein Wortzeichen nicht von einem anderen Wortzeichen gefolgt oder vorangestellt wird, wie zum Beispiel zwischen einem Buchstaben und einem Leerzeichen. Beachten Sie, dass eine gefundene Wortgrenze nicht im Treffer enthalten ist. Mit anderen Worten, die Länge einer gefundenen Wortgrenze beträgt null. Beispiele:
Um ein Rückschrittzeichen ( |
\B |
Nicht-Wortgrenzen-Assertion:
Passt zu einer Nicht-Wortgrenze. Dies ist eine Position, an der das vorherige und
das nächste Zeichen vom gleichen Typ sind: Entweder müssen beide Wörter sein, oder
beide müssen Nicht-Wörter sein, zum Beispiel zwischen zwei Buchstaben oder zwischen zwei
Leerzeichen. Der Anfang und das Ende einer Zeichenfolge werden als Nicht-Wörter betrachtet.
Ebenso wie die gefundene Wortgrenze wird auch die gefundene Nicht-Wortgrenze
nicht im Treffer enthalten. Zum Beispiel,
|
Andere Assertions
Hinweis: Das ?
Zeichen kann auch als Quantor verwendet werden.
Zeichen | Bedeutung |
---|---|
x(?=y) |
Lookahead Assertion:
Passt zu "x" nur, wenn "x"
von "y" gefolgt wird. Zum Beispiel, |
x(?!y) |
Negative Lookahead Assertion:
Passt zu "x" nur, wenn "x"
nicht von "y" gefolgt wird. Zum Beispiel, |
(?<=y)x |
Lookbehind Assertion:
Passt zu "x" nur, wenn "x"
von "y" vorausgegangen wird. Zum Beispiel,
|
(?<!y)x |
Negative Lookbehind Assertion:
Passt zu "x" nur, wenn
"x" nicht von "y" vorausgegangen wird. Zum Beispiel,
|
Gruppen und Rückverweise
Gruppen und Rückverweise kennzeichnen Gruppen von Ausdruckszeichen.
Zeichen | Bedeutung |
---|---|
(x) |
Sammelgruppe:
Passt zu
Ein regulärer Ausdruck kann mehrere Sammelgruppen enthalten. In den Ergebnissen
stehen die Treffer oft in einem Array, dessen Mitglieder in derselben Reihenfolge wie
die linken Klammern in der Sammelgruppe sind. Das ist
in der Regel einfach die Reihenfolge der Sammelgruppen selbst. Dies
wird wichtig, wenn Sammelgruppen verschachtelt sind. Treffer können
mit dem Index der Elemente des Ergebnis-Arrays ( Sammelgruppen haben einen Leistungseinbruch. Wenn Sie das gefundene Teilzeichen nicht abrufen müssen, bevorzugen Sie nicht-sammelnde Klammern (siehe unten).
|
(?<Name>x) |
Benannte Sammelgruppe:
Passt zu "x" und speichert es bei den
Gruppen-Eigenschaften der zurückgegebenen Treffer unter dem Namen, der
durch
Um zum Beispiel die US-amerikanische Vorwahl aus einer Telefonnummer
zu extrahieren, könnten wir |
(?:x) |
Nicht-Sammelgruppe:
Passt zu "x" aber merkt sich
den Treffer nicht. Das gefundene Teilzeichen kann nicht aus den
Ergebniselementen des Arrays ( |
(?flags:x) , (?:flags-flags:x) |
Modifier:
Aktiviert oder deaktiviert die angegebenen Flags nur für das eingeschlossene Muster. Nur die |
\n |
Rückverweis:
Dabei ist "n" eine positive Ganzzahl. Passt zu demselben Teilzeichen, das
von der n-ten Sammelgruppe im regulären Ausdruck
(zählt linke Klammern) getroffen wurde. Zum Beispiel,
|
\k<Name> |
Benannter Rückverweis:
Ein Rückverweis auf das letzte Teilzeichen, das zur Benannten Sammelgruppe passt, die von
Zum Beispiel,
Hinweis: |
Quantoren
Quantoren geben die Anzahl der zu treffenden Zeichen oder Ausdrücke an.
Hinweis: Im Folgenden bezieht sich item nicht nur auf einzelne Zeichen, sondern enthält auch Zeichenklassen und Gruppen und Rückverweise.
Zeichen | Bedeutung |
---|---|
x* |
Passt das vorhergehende Element "x" 0 oder mehrmals. Zum Beispiel,
|
x+ |
Passt das vorhergehende Element "x" 1 oder mehrmals. Entspricht
|
x? |
Passt das vorhergehende Element "x" 0 oder 1 Mal. Zum Beispiel,
Wenn unmittelbar nach einem der Quantoren |
x{n} |
Dabei ist "n" eine nicht-negative Ganzzahl. Passt genau "n" Vorkommen des
vorhergehenden Elements "x". Zum Beispiel passt |
x{n,} |
Dabei ist "n" eine nicht-negative Ganzzahl. Passt zu mindestens "n" Vorkommen des
vorhergehenden Elements "x". Zum Beispiel passt |
x{n,m} |
Dabei sind "n" und "m" nicht-negative Ganzzahlen und |
|
Standardmäßig sind Quantoren wie
|