Dieses Mal zeige ich Ihnen, wie Sie einen regulären Ausdruck schreiben, um eine Gruppe von Zeichen abzugleichen, und welche Vorsichtsmaßnahmen für die Zuordnung einer Gruppe von Zeichen zu einem regulären Ausdruck gelten. Das Folgende ist ein praktischer Fall , lass uns einen Blick darauf werfen.
Das Beispiel in diesem Artikel beschreibt die Methode zum Abgleichen einer Gruppe von Zeichen im Tutorial regulärer Ausdruck. Geben Sie es wie folgt als Referenz an alle weiter:
Hinweis: In allen Beispielen sind die Ergebnisse der regulären Ausdrucksübereinstimmung im Quelltext [ und ], einige Beispiele werden mit Java implementiert. Wenn es sich um die Verwendung regulärer Ausdrücke in Java selbst handelt, wird dies an der entsprechenden Stelle erläutert. Alle Java-Beispiele werden unter JDK1.6.0_13 getestet.
1. Übereinstimmung mit einem von mehreren Zeichen
Eine Übereinstimmung im vorherigen Artikel „Tutorial zu regulären Ausdrücken: Detaillierte Erklärung der Übereinstimmung mit einem einzelnen Zeichen“ im Beispiel einer Textdatei, die mit na oder sa beginnt, ist der verwendete reguläre Ausdruck .a..txt. Wenn es eine andere Datei mit dem Namen cal.txt gibt, wird diese ebenfalls abgeglichen. Was soll ich tun, wenn ich nur Dateien abgleichen möchte, die mit na oder sa beginnen? Da wir nur n oder s finden wollen, ist die Verwendung von n oder s offensichtlich nicht möglich. In regulären Ausdrücken können wir [und] verwenden, um eine Sehen wir uns ein ähnliches Beispiel wie das vorherige an: Text:sales.txt
na1 .txt
na2.txt
sa1.txt
sanatxt.txt
cal.txt
Regulärer Ausdruck:[ns]a..txt
Ergebnis:sales.txt
[na1.txt]
[na2.txt]
【sa1.txt】
sanatxt.txt
cal.txt
Analyse: Die Der hier verwendete reguläre Ausdruck beginnt mit [na]. Dieser Satz stimmt mit den Zeichen n oder s überein und stimmt mit keinem anderen Zeichen überein. [ und ] stimmen mit keinem Zeichen überein; sie definieren nur eine Reihe von Zeichen. Als nächstes stimmt a mit einem Zeichen überein, . txt stimmt mit dem txt-Zeichen selbst überein und die Übereinstimmungsergebnisse stimmen mit unseren Erwartungen überein. Wenn jedoch eine der Dateien usa1.txt ist, wird sie ebenfalls abgeglichen. Dies ist ein Problem der Positionsanpassung, das später besprochen wird.2. Verwenden Sie das Zeichensatzintervall
Was wäre, wenn wir im obigen Beispiel nur Dateien abgleichen möchten, die mit na oder sa beginnen und denen eine Zahl folgt? ? Im regulären Ausdruck [ns]a..txt entspricht . jedem Zeichen, einschließlich Zahlen. Dieses Problem kann mit einem Zeichensatz gelöst werden:sales.txt
na1.txt
na2 . txt
sa1.txt
san.txt
sanatxt.txt
cal.txt
Regulärer Ausdruck:[ns]a[0123456789].txt
Ergebnis:
sales.txt
[na1.txt]
[na2.txt]
【sa1.txt】
san.txt
sanatxt.txt
cal.txt
Analyse: Wie Sie den Ergebnissen entnehmen können, passen wir nur diejenigen an, die mit na beginnen oder sa , gefolgt von einer Zahlendatei, und san.txt wurde nicht gefunden, da der Zeichensatz [0123456789] verwendet wurde, um das dritte Zeichen auf nur eine Zahl zu beschränken.
In regulären Ausdrücken werden häufig einige Zeichenintervalle verwendet, z. B. 0-9, a-z usw. Um die Definition von Zeichenintervallen zu vereinfachen, stellen reguläre Ausdrücke ein spezielles Metazeichen bereit – zum Definieren des Zeichenbereichs. Wie im obigen Beispiel können wir reguläre Ausdrücke verwenden, um Folgendes abzugleichen: [ns]a[0-9].txt, und das Ergebnis ist genau das gleiche wie oben.
Der Zeichenbereich ist nicht auf Zahlen beschränkt. Die folgenden sind zulässige Zeichenbereiche:
[A-F]: Entspricht allen Großbuchstaben von A bis F.
[A-Z]: Entspricht allen Großbuchstaben von A bis Z.
[A-z]: Entspricht allen Buchstaben vom ASCII-Zeichen A bis zum ASCII-Zeichen z. Dieses Intervall wird jedoch im Allgemeinen nicht verwendet, es ist nur ein Beispiel. Denn sie enthalten auch Zeichen wie [ und ^, die in ASCII zwischen Z und a angeordnet sind.
Das erste und das letzte Zeichen des Zeichenintervalls können beliebige Zeichen in der ASCII-Zeichenliste sein. In der Praxis sind es jedoch am häufigsten Zahlen und alphabetische Zeichen.
Hinweis: Beim Definieren eines Zeichenintervalls darf das letzte Zeichen des Intervalls nicht kleiner sein als das erste Zeichen (z. B. [9-0]). - Da ein Metazeichen nur zwischen [ und ] erscheinen kann, ist es, wenn es sich irgendwo außerhalb von [ und ] befindet, nur ein gewöhnliches Zeichen und passt nur zu - sich selbst.
Im selben Zeichensatz können mehrere Zeichenbereiche angegeben werden, zum Beispiel: [0-9a-zA-Z] stimmt mit allen Groß- und Kleinbuchstaben und Zahlen überein.
Sehen Sie sich ein Beispiel für übereinstimmende Farben auf einer Webseite an:
Text:
<span style="background-color:#3636FF;height:30px; width:60px;">测试</span>
Regulärer Ausdruck: #[0-9A-Fa-f ] [0-9A-Fa-f] [0-9A-Fa-f] [0-9A-Fa-f] [0-9A-Fa-f] [0-9A-Fa-f]
Ergebnis:[#3636FF];height:30px; width:60px;">Test
Analyse: Auf Webseiten wird Farbe im Allgemeinen als RGB-Wert ausgedrückt, der mit # beginnt, R steht für Rot, G steht für Grün und B steht für Blau. Jede Farbe kann durch verschiedene RGB-Kombinationen gemischt werden. RGB-Werte werden durch Hexadezimalwerte dargestellt, z. B. #000000 für Weiß, #FFFFFF für Schwarz und #FF0000 für Rot. Daher beginnt der reguläre Ausdruck zum Abgleichen von Farben auf Webseiten mit #, gefolgt von demselben Satz von 6 [0-9A-Fa-f]-Zeichen (dies kann als #[0-9A-Fa-f]{6 abgekürzt werden). }, Dies wird später im Abschnitt „Wiederholungsabgleich“ besprochen.
3. Nicht übereinstimmende Zeichen erhalten
Der Zeichensatz wird normalerweise verwendet, um einen Satz von Zeichen anzugeben, die mit einem von ihnen übereinstimmen müssen, aber in einigen Fällen ist dies erforderlich Um das Gegenteil zu tun, wird ein Satz von Zeichen bereitgestellt, die nicht abgerufen werden müssen. Mit anderen Worten: Mit Ausnahme der Zeichen in diesem Zeichensatz können alle anderen Zeichen abgeglichen werden.
Um beispielsweise Dateien abzugleichen, die mit na oder sa beginnen und denen keine Zahlen folgen:
Text:
sales.txt
na1.txt
na2.txt
sa1.txt
sanatxt.txt
san.txt
Regulärer Ausdruck: [ns]a[^0-9].txt
Ergebnis:
sales.txt
na1.txt
na2.txt
sa1.txt
sanatxt.txt
[san.txt]
Analyse: Das in diesem Beispiel verwendete Muster ist genau das Gegenteil des vorherigen. Das vorherige [0-9] stimmte nur mit Zahlen überein, aber hier stimmte [^0-9] mit Nichtzahlen überein.
Hinweis: ^ zwischen [ und ] bedeutet Negation. Wenn es am Anfang des regulären Ausdrucks steht, bedeutet dies, dass die Positionsübereinstimmung übereinstimmt, was später erläutert wird. Gleichzeitig gilt die Wirkung von ^ für alle Zeichen oder Zeichenintervalle in einem bestimmten Zeichensatz, nicht nur für das Zeichen oder Zeichenintervall, das unmittelbar auf das ^-Zeichen folgt. Beispielsweise bedeutet [^0-9a-z], dass keine Zahlen oder Kleinbuchstaben gefunden werden.
4. Zusammenfassung
Die Metazeichen [und] werden verwendet, um einen Satz von Zeichen zu definieren, und ihre Bedeutung besteht darin, dass sie mit einem der Zeichen im Satz übereinstimmen müssen . Es gibt zwei Möglichkeiten, einen Zeichensatz zu definieren: Die eine besteht darin, alle Zeichen aufzulisten, die andere darin, Metazeichen zu verwenden – angegeben in Form von Zeichenintervallen. Zeichensätze können mit dem Metazeichen ^ negiert werden, wodurch der angegebene Zeichensatz zwangsweise von der Vergleichsoperation ausgeschlossen wird. Mit Ausnahme der Zeichen im Zeichensatz können andere Zeichen abgeglichen werden.
Im nächsten Artikel werden wir die Verwendung einiger Metazeichen in regulären Ausdrücken diskutieren.
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:
Regulärer Ausdruck zur Überprüfung der JS-Passwortstärke (mit Code)
Regulärer Ausdruck in JQ Überprüfen Sie, ob die Die Methode darf kein Chinesisch
Das obige ist der detaillierte Inhalt vonSo schreiben Sie einen regulären Ausdruck, der einer Gruppe von Zeichen entspricht. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!