Heim > Artikel > Web-Frontend > Detaillierte Erläuterung der Gruppierung regulärer Ausdrücke (mit Code)
Dieses Mal erkläre ich Ihnen ausführlich die Gruppierung von regulären Ausdrücken (mit Code), welche Vorsichtsmaßnahmen für die Gruppierung von regulären Ausdrücken gelten, und das Folgende ist ein praktischer Fall schau doch einmal vorbei.
Gruppierung regulärer Ausdrücke:
Wenn Sie 3 Zahlen zuordnen möchten, kann der reguläre Ausdruck wie folgt geschrieben werden:
d{3}
Der obige Code verwendet wiederholte Quantoren, um dreistellige Zahlen abzugleichen.
Aber in tatsächlichen Anwendungen müssen oft mehrere Zeichen wiederholt werden. Wenn ich beispielsweise zwei Zeichen ab wiederholen möchte, ist es nicht angebracht, den folgenden Code zu verwenden:
ab{3}
Der obige reguläre Ausdruck kann nur dreimal wiederholt werden b.
Um mehrere Zeichen zu wiederholen, können Sie Klammern verwenden, um Unterausdrücke oder Gruppen anzugeben, um diese Funktion zu erreichen, zum Beispiel:
(ab){3}
Der obige reguläre Ausdruck kann ab wiederholen.
Die sogenannte Gruppierung besteht darin, einige Elemente mithilfe von Klammern einzuschließen und sie zu unabhängigen logischen Domänen zu machen. Anschließend kann der Inhalt der Klammern wie eine unabhängige Einheit verarbeitet werden.
Sehen Sie sich unten ein Codebeispiel an:
(d{1,3}.){3}d{1,3}
Das Obige ist ein einfacher, mit der IP übereinstimmender regulärer Ausdruck. Der in Klammern eingeschlossene Inhalt wird als unabhängiges logisches Feld verarbeitet.
Die Rolle der Gruppierung:
In regulären Ausdrücken spielt die Gruppierung eine entscheidende Rolle. Hier finden Sie eine kurze Einführung in ihre Funktion.
1. Spielt die ursprüngliche Gruppierungsrolle:
Gruppieren Sie einzelne Elemente, um Unterausdrücke zu synthetisieren, sodass sie wie ein einzelnes Zeichen verarbeitet werden können. Wenden Sie |, +, * an. oder ? und andere Metazeichen , um sie zu bedienen. Der Beispielcode lautet wie folgt:
var str="I love javascript and java"; console.log(str.match(/java(script)?/gi));Wie aus den laufenden Ergebnissen des obigen Codes ersichtlich ist, können reguläre Ausdrücke sowohl mit
2. Untermuster definieren:
Eine weitere sehr wichtige Rolle der Gruppierung besteht darin, Untermuster im gesamten Muster zu definieren.Wenn ein regulärer Ausdruck erfolgreich mit der Zielzeichenfolge übereinstimmt, kann der Teil, der mit dem tiefgestellten Ausdruck in Klammern übereinstimmt, aus der Zielzeichenfolge extrahiert werden.
Wenn wir eine Zeichenfolge abgleichen, die mit einer Zahl beginnt und auf die ein oder mehrere Buchstaben folgen, bei denen die Groß-/Kleinschreibung nicht berücksichtigt wird, kann der reguläre Ausdruck wie folgt geschrieben werden:
/d[a-zA-Z]+/
/(d)[a-zA-Z]+/
3. Unterausdrücke zitieren: In der regulären Ausdruckssyntax können Sie am Ende desselben Ausdrucks auf den vorherigen Unterausdruck verweisen. Dies erreichen Sie, indem Sie der Zahl „“ folgen. Diese Zahl gibt die Position des in Klammern gesetzten Ausdrucks im regulären Ausdruck an. Beispielsweise ist 1 der erste Unterausdruck mit Klammern und natürlich 2 der zweite Unterausdruck mit Klammern.
Besonderer Hinweis: Da Unterausdrücke ineinander verschachtelt sein können, müssen Sie bei der Berechnung der Position des Unterausdrucks nur die Position der linken Klammer bestimmen. Zum Beispiel:
/(java(script))/
Der Verweis auf einen Unterausdruck ist nicht das übereinstimmende Muster des Verweises, sondern ein Verweis auf den übereinstimmenden Inhalt des Unterausdrucks. Im Allgemeinen werden Verweise auf Unterausdrücke verwendet, um eine Einschränkung zu implementieren:
/(['"])[^'"]*1/
‚Willkommen bei Script House‘
Dann implementiert der obige reguläre Ausdruck diese Funktion. Wenn der vorherige Unterausdruck mit einem einfachen Anführungszeichen übereinstimmt, stellt die folgende 1 auch ein einfaches Anführungszeichen dar. Wenn der Unterausdruck ein passendes doppeltes Anführungszeichen darstellt, bedeutet dies ein doppeltes Zitate.
Nicht referenzierte Gruppierung:
Die Gruppierung belegt bestimmte Systemressourcen, insbesondere wenn der reguläre Ausdruck lang ist, und verringert dadurch die Übereinstimmungsgeschwindigkeit. Manchmal dient es nur der Einrichtung einer Gruppe und erfordert keine Referenz. Daher ist die Verwendung einer Gruppierung ohne Referenztyp eine gute Wahl.
/(java(?:script))/
Ich glaube, dass Sie die Methode beherrschen, nachdem Sie den Fall in diesem Artikel gelesen haben. Weitere spannende Informationen finden Sie in anderen verwandten Artikeln auf der chinesischen PHP-Website!
Empfohlene Lektüre:
Das obige ist der detaillierte Inhalt vonDetaillierte Erläuterung der Gruppierung regulärer Ausdrücke (mit Code). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!