Reguläre Ausdrücke -Operatorrangfolge

Reguläre Ausdrücke werden von links nach rechts ausgewertet und folgen einer Rangfolge, die der von arithmetischen Ausdrücken sehr ähnlich ist.

Operationen mit derselben Rangfolge werden von links nach rechts ausgeführt, während Operationen mit unterschiedlicher Rangfolge von hoch nach niedrig ausgeführt werden. Die folgende Tabelle veranschaulicht die Rangfolge verschiedener Operatoren für reguläre Ausdrücke von der höchsten zur niedrigsten:

Operator Beschreibung
\ Escape-Zeichen
(), (?:), (?=), [] Runde und eckige Klammern
*, +, ?, {n}, {n,}, {n,m} Quantifizierer
^, $, \ beliebiges Metazeichen, beliebiges Zeichen Anker und Sequenzen (d. h. Position und Reihenfolge)
| Alternative, "oder"-Operation
Zeichen haben eine höhere Priorität als der Alternationsoperator, daher stimmt "m|food" mit "m" oder "food" überein. Um mit "mood" oder "food" übereinzustimmen, verwenden Sie Klammern, um einen Teilausdruck zu erstellen, was "(m|f)ood" ergibt.

Im Folgenden finden Sie einige gängige Operatoren für reguläre Ausdrücke, nach Priorität von der höchsten zur niedrigsten geordnet:

  • Escape-Symbol: \Es ist ein Escape-Symbol, das verwendet wird, um andere Sonderzeichen zu maskieren. Es hat die höchste Priorität.

    Beispiel:\d、\.usw., wobei\dstimmt mit einer Ziffer überein,\.stimmt mit einem Punkt überein.

  • Klammern:Klammern()werden verwendet, um Teilausdrücke zu erstellen, und haben eine höhere Priorität als andere Operatoren.

    Beispiel:(abc)+Stimmt ein- oder mehrmals mit "abc" überein.

  • Quantoren:Quantoren geben an, wie oft das vorangehende Element wiederholt werden kann.

    Beispiel:a*Entspricht null oder mehr "a".

  • Zeichenklassen:Zeichenklassen verwenden eckige Klammern[]um jedes Zeichen innerhalb der Klammern zu finden.

    Beispiel:[aeiou]Entspricht einem beliebigen Vokalbuchstaben.

  • Assertions:Assertions sind Elemente, die verwendet werden, um Bedingungen an bestimmten Positionen in einer Zeichenkette zu prüfen.

    Beispiel:^stellt den Anfang einer Zeile dar,$stellt das Ende einer Zeile dar.

  • Verkettung:Verkettung bezeichnet das einfache Aneinanderfügen von Zeichen, wenn kein anderer Operator vorhanden ist.

    Beispiel:abcEntspricht "abc".

  • Pipe:Das Pipe-Symbol|stellt eine "oder"-Beziehung dar und wird verwendet, um eines aus mehreren Mustern auszuwählen.

    Beispiel:cat|dogEntspricht "cat" oder "dog".

Als Nächstes schauen wir uns die Erläuterung der Rangfolge der folgenden regulären Ausdrücke an:

\d{2,3}|[a-z]+(abc)*
  • \d{2,3}Entspricht zwei bis drei Ziffern.
  • |steht für "oder".
  • [a-z]+Entspricht einem oder mehreren Kleinbuchstaben.
  • (abc)*Entspricht null oder mehr "abc".
Andere Erweiterungen