Heim > Artikel > Web-Frontend > Reguläre Ausdrücke (Grammatik)
Jetzt bringe ich Ihnen einen Artikel über reguläre Ausdrücke (Grammatikempfehlung). Lassen Sie mich es jetzt mit Ihnen teilen und es allen als Referenz geben.
Konstruktionszusammenfassung des regulären Ausdrucks
Konstruktionsübereinstimmung
Zeichen
x Zeichen x
\ Backslash-Zeichen
(?:X) X) X) X, über ein positives Lookbehind mit der Breite Null ----------------------
Backslash, Escape und Zitat
Backslashes in Zeichenfolgen im Java-Quellcode werden als Unicode-Escapezeichen oder andere Zeichen-Escapezeichen interpretiert, wie in der Java-Sprachspezifikation gefordert. Daher müssen Sie im Zeichenfolgenliteral zwei Backslashes verwenden, um anzugeben, dass der reguläre Ausdruck vor der Interpretation durch den Java-Bytecode-Compiler geschützt ist. Wenn es beispielsweise als regulärer Ausdruck interpretiert wird, entspricht das Zeichenfolgenliteral „b“ einem einzelnen Rückschrittzeichen, während „\b“ einer Wortgrenze entspricht. Das String-Literal „(hello)“ ist unzulässig und verursacht einen Fehler bei der Kompilierung; um mit dem String (hello) übereinzustimmen, muss das String-Literal „\(hello\)“ verwendet werden. Zeichenklassen
Zeichenklassen können innerhalb anderer Zeichenklassen auftreten und den Vereinigungsoperator (implizit) und den Schnittmengenoperator (&&) enthalten. Der Union-Operator stellt eine Klasse dar, die alle Zeichen in mindestens einer ihrer Operandenklassen enthält. Der Schnittmengenoperator stellt eine Klasse dar, die alle Zeichen enthält, die in beiden Operandenklassen vorkommen.Die Rangfolge der Zeichenklassenoperatoren ist wie folgt, in der Reihenfolge vom höchsten zum niedrigsten:
1 Literaler Wert, der x maskiert 2 Gruppierung [ ...]
3 Bereich a-z4 Vereinigung [a-e][i-u]
5 Schnittpunkt [a-z&&[aeiou]]Beachten Sie, dass sich tatsächlich verschiedene Sätze von Metazeichen innerhalb einer Zeichenklasse befinden. nicht außerhalb davon. Beispielsweise verliert der reguläre Ausdruck seine besondere Bedeutung innerhalb einer Zeichenklasse, während der Ausdruck zu einem Bereich wird, der Metazeichen bildet.
Zeilenabschlusszeichen
Wagenrücklaufzeichen ("rn"), gefolgt von einem neuen Zeilenzeichen, allein Wagenrücklauf ('r'), nächstes Zeilenzeichen ('u0085'), Zeilentrennzeichen ('u2028') oder Absatztrennzeichen ('u2029).
Wenn der UNIX_LINES-Modus aktiviert ist, ist das Newline-Zeichen das einzige erkannte Zeilenendezeichen. Wenn das DOTALL-Flag nicht angegeben ist, kann der reguläre Ausdruck mit jedem Zeichen übereinstimmen (außer Zeilenabschlusszeichen).
Standardmäßig ignorieren die regulären Ausdrücke ^ und $ Zeilenabschlusszeichen und stimmen jeweils nur mit dem Anfang und dem Ende der gesamten Eingabesequenz überein. Wenn der MULTILINE-Modus aktiviert ist, erfolgt der ^-Abgleich am Anfang der Eingabe und nach dem Zeilenende (am Ende der Eingabe). Im MULTILINE-Modus stimmt $ nur vor einem Zeilenabschlusszeichen oder am Ende der Eingabesequenz überein.
Gruppen und Erfassungen
2 A 3 (B(C)) 4 (C) Gruppe Null repräsentiert immer den gesamten Ausdruck.
Die einfangenden Gruppen werden auf diese Weise benannt, da im Match jede Teilsequenz der Eingabesequenz, die mit diesen Gruppen übereinstimmt, gespeichert wird. Die erfasste Teilsequenz kann später über eine Back-Referenz in einem Ausdruck verwendet oder nach Abschluss des Matching-Vorgangs vom Matcher abgerufen werden.
Die mit einer Gruppe verknüpfte Erfassungseingabe ist immer die Teilsequenz, die der Gruppe am nächsten kommt. Wenn eine Gruppe aufgrund der Quantisierung erneut berechnet wird, bleibt ihr zuvor erfasster Wert (falls vorhanden) erhalten, wenn die zweite Berechnung fehlschlägt. Wenn Sie beispielsweise die Zeichenfolge „aba“ mit dem Ausdruck (a(b)?)+ vergleichen, wird festgelegt die zweite Gruppe zu „b“. Zu Beginn jedes Spiels werden alle erfassten Eingaben verworfen.
Eine Gruppe, die mit (?) beginnt, ist eine reine Nichterfassungsgruppe, die keinen Text erfasst und nicht auf die Gesamtsumme angerechnet wird.
Wie kopiere ich ein Objekt in js? (Bild- und Text-Tutorial)
Das obige ist der detaillierte Inhalt vonReguläre Ausdrücke (Grammatik). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!