Reguläre Ausdruck

Ein Auffrischungsbericht zur Syntax und den Regeln für das Erstellen von regulären Ausdrücken.

Siehe auch Konfigurieren eines inkrementellen Indexes einer gestaffelten Website.

Syntax regulärer Ausdruck

Text

Beliebiges einzelnes Zeichen

[Zeichen]

Zeichenklasse: Zeichen

[^chars]

Zeichenklasse: Keine Zeichen

text1|text2

Alternative: text1 oder text2

Quantifizierer

?

0 oder 1 des vorhergehenden Textes

*

0 oder N des vorhergehenden Textes (N > 1)

+

1 oder N des vorhergehenden Textes (N > 1)

Gruppierung

(text)

Gruppierung von Text, entweder um die Ränder einer Alternative festzulegen oder um Referenzen wiederherzustellen, bei denen die n. Gruppe auf der RHS einer RewriteRule mit $N verwendet wird)

Anker

^

Beginn des Zeilenankers.

$

Zeilenende-Anker.

Escaping

\char

Entkommen Sie dem bestimmten Zeichen. So geben Sie beispielsweise die Zeichen an ".[] ()" und so weiter.

Regeln zu regulären Ausdrücken

  • Ein gewöhnliches Zeichen - nicht eines der unten beschriebenen Sonderzeichen - ist ein regulärer Ausdruck mit einem Zeichen, der sich selbst entspricht.

  • Ein umgekehrter Schrägstrich () gefolgt von einem Sonderzeichen ist ein regulärer Ausdruck mit einem Zeichen, der dem Sonderzeichen selbst entspricht. Sonderzeichen sind:

    • . (Punkt), * (Sternchen), ? (Fragezeichen), + (Pluszeichen), [ (linke eckige Klammer), | (vertikale Linie) und \ (umgekehrter Schrägstrich) sind immer Sonderzeichen, es sei denn, sie erscheinen in eckigen Klammern.

    • ^ (Caret oder Zirkumflex) ist besonders am Anfang eines regulären Ausdrucks, oder wenn es sofort folgt links von einem Paar eckiger Klammern.

    • $ (Dollarzeichen) ist am Ende eines regulären Ausdrucks etwas Besonderes.

    • . (period) ist ein regulärer Ausdruck mit einem Zeichen, der mit jedem Zeichen übereinstimmt, einschließlich zusätzlicher Codesatzzeichen mit Ausnahme der neuen Zeile.

    • Eine nicht leere Zeichenfolge in [ ] (linke und rechte eckige Klammern) ist ein regulärer Ausdruck mit einem Zeichen, der einem Zeichen, einschließlich zusätzlicher Codesatzzeichen, in dieser Zeichenfolge entspricht.

      Wenn das erste Zeichen der Zeichenfolge jedoch ein ^ (Zirkumflex) ist, stimmt der reguläre Ausdruck mit einem Zeichen mit jedem beliebigen Zeichen überein, einschließlich zusätzlicher Codesatzzeichen, mit Ausnahme von "new-line"und den übrigen Zeichen in der Zeichenfolge.

      Diese besondere Bedeutung hat ^ nur, wenn sie zuerst in der Zeichenfolge vorkommt. Sie können - (Minuszeichen) verwenden, um einen Bereich aufeinander folgender Zeichen anzugeben, einschließlich zusätzlicher Codesatzzeichen. Beispiel: [0-9] entspricht [0123456789].

      Zeichen, die den Bereich angeben, müssen aus demselben Codesatz stammen. Wenn die Zeichen aus verschiedenen Codesätzen stammen, wird eines der Zeichen, die den Bereich angeben, zugeordnet. Diese besondere Bedeutung verliert -, wenn sie zuerst (nach einer initialen ^-Anweisung, falls vorhanden) oder zuletzt in der Zeichenfolge auftritt. Die ] (rechte eckige Klammer) beendet eine solche Zeichenfolge nicht, wenn sie das erste Zeichen darin ist, gegebenenfalls nach einer initialen ^. []a-f] entspricht beispielsweise entweder einer ] (rechten eckigen Klammer) oder einem der ASCII-Buchstaben a bis f einschließlich. Die vier oben als Sonderzeichen aufgelisteten Zeichen stehen für sich in einer solchen Zeichenfolge.

Regeln zum Erstellen regulärer Ausdruck aus regulären Ausdrücken mit einem Zeichen

Sie können die folgenden Regeln verwenden, um reguläre Ausdruck aus regulären Ausdrücken mit einem Zeichen zu erstellen:

  • Ein regulärer Ausdruck mit einem Zeichen ist ein regulärer Ausdruck, der mit dem regulären Ausdruck mit einem Zeichen übereinstimmt.
  • Ein regulärer einstelliger Ausdruck gefolgt von einem * (Sternchen) ist ein regulärer Ausdruck, der Null oder mehr Vorkommen des regulären einstelligen Ausdrucks entspricht, bei dem es sich möglicherweise um ein zusätzliches Codesatzzeichen handelt. Bei einer beliebigen Option wird die längste Zeichenfolge links gewählt, die eine Übereinstimmung zulässt.
  • Ein regulärer einstelliger Ausdruck gefolgt von einem ? (Fragezeichen) ist ein regulärer Ausdruck, der Null oder ein Vorkommen des regulären einstelligen Ausdrucks entspricht, bei dem es sich möglicherweise um ein zusätzliches Codesatzzeichen handelt. Bei einer beliebigen Option wird die längste Zeichenfolge links gewählt, die eine Übereinstimmung zulässt.
  • Ein regulärer Ausdruck mit einem Zeichen gefolgt von einem + (Pluszeichen) ist ein regulärer Ausdruck, der einem oder mehreren Vorkommen des regulären einstelligen Ausdrucks entspricht, bei dem es sich möglicherweise um ein zusätzliches Codesatzzeichen handelt. Bei einer beliebigen Option wird die längste Zeichenfolge links gewählt, die eine Übereinstimmung zulässt.
  • Ein regulärer Ausdruck mit einem Zeichen gefolgt von {m}, {m,} oder {m,n} ist ein regulärer Ausdruck, der einem Bereich von Vorkommen des regulären Ausdrucks mit einem Zeichen entspricht. Die Werte von m und n müssen nicht negative Ganzzahlen unter 256 sein. {m} stimmt genau mit m-Vorkommen überein; {m,} entspricht mindestens m Vorkommen; {m,n} stimmt mit einer beliebigen Anzahl von Vorkommen zwischen m und n überein. Wenn eine Auswahl vorhanden ist, stimmt der reguläre Ausdruck mit so vielen Vorkommen wie möglich überein.
  • Die Verkettung von regulären Ausdrücken ist ein regulärer Ausdruck, der der Verkettung der Zeichenfolgen entspricht, die jeder Komponente des regulären Ausdrucks zugeordnet sind.
  • Ein regulärer Ausdruck, der zwischen den Zeichensequenzen ( und ) eingeschlossen ist, ist ein regulärer Ausdruck, der mit dem gleichnamigen regulären Ausdruck übereinstimmt.
  • Ein regulärer Ausdruck gefolgt von einem | (senkrechten Rohr) gefolgt von einem regulären Ausdruck ist ein regulärer Ausdruck, der entweder dem ersten regulären Ausdruck (vor dem senkrechten Rohr) oder dem zweiten regulären Ausdruck (nach dem senkrechten Rohr) entspricht.

Sie können einen regulären Ausdruck auch so einschränken, dass er nur mit einem Anfangssegment oder finalen Segment einer Zeile oder mit beiden übereinstimmt.

  • Ein ^ (Zirkumflex) am Anfang eines regulären Ausdrucks schränkt diesen regulären Ausdruck so ein, dass er mit einem Anfangssegment einer Zeile übereinstimmt.
  • Ein $-Zeichen (Dollarzeichen) am Ende eines gesamten regulären Ausdrucks schränkt diesen regulären Ausdruck auf Übereinstimmung mit einem endgültigen Liniensegment ein.
  • Die Konstruktion '^regulärer Ausdruck$' beschränkt den regulären Ausdruck auf die Übereinstimmung mit der gesamten Zeile.

Es gibt einige vordefinierte Zeichenklassennamen, die Sie anstelle komplexer Ausdruck mit Klammern verwenden können. Eine Ziffer kann beispielsweise durch den einstelligen regulären Ausdruck [0-9] oder durch den einstelligen regulären Ausdruck der Zeichenklasse [[:digit:]] dargestellt werden.

Die vordefinierten Zeichenklassen und ihre Bedeutung lauten wie folgt:

Character-Klasse

Beschreibung

[[:alnum:]]

Ein alphabetisches Zeichen oder eine Ziffer.

[[:alpha:]]

Ein alphabetisches Zeichen.

[[:leer gelassen:]]

Ein Leerzeichen oder eine Registerkarte.

[[:cntrl:]]

ein Kontrollcode; nicht druckbares Zeichen.

[[:digit:]]

Eine Ziffer.

[[:graph:]]

Beliebiges Druckzeichen außer Leerzeichen.

[[:lower:]]

Ein alphabetisches Kleinbuchstaben.

[[:print:]]

Beliebiges Druckzeichen einschließlich Leerzeichen.

[[:punct:]]

Interpunktion.

[[:Leerzeichen:]]

Leerzeichen wie Leerzeichen, Tabulatoren oder Zeilenende.

[[:top:]]

Ein alphabetisches Großbuchstaben.

[[:xdigit:]]

Eine hexadezimale Zahl, Groß- oder Kleinschreibung.

Zwei Klassennamen mit Sonderzeichen entsprechen dem Leerzeichen am Beginn und am Wortende. Mit anderen Worten, sie stimmen nicht mit einem tatsächlichen Zeichen überein. Ein Wort gilt als eine beliebige Folge von Buchstaben, Ziffern oder Unterstrichen (_).

Character-Klasse

Beschreibung

[[:<:]]

Beginn eines Wortes

[[:>:]]

Wortende

Auf dieser Seite

Adobe Summit Banner

A virtual event April 27-28.

Expand your skills and get inspired.

Register for free
Adobe Summit Banner

A virtual event April 27-28.

Expand your skills and get inspired.

Register for free
Adobe Maker Awards Banner

Time to shine!

Apply now for the 2021 Adobe Experience Maker Awards.

Apply now
Adobe Maker Awards Banner

Time to shine!

Apply now for the 2021 Adobe Experience Maker Awards.

Apply now