Heim  >  Artikel  >  Backend-Entwicklung  >  Tutorial zu regulären Ausdrücken – Analyse der Verwendung von Unterausdrücken

Tutorial zu regulären Ausdrücken – Analyse der Verwendung von Unterausdrücken

高洛峰
高洛峰Original
2017-01-22 14:12:241267Durchsuche

Das Beispiel in diesem Artikel beschreibt die Verwendung von Unterausdrücken im Tutorial zu regulären Ausdrücken. Teilen Sie es allen als Referenz mit. Die Details lauten wie folgt:

Hinweis: In allen Beispielen sind die Ergebnisse der regulären Ausdrücke zwischen [und] im Quelltext enthalten. Einige Beispiele werden mit Java implementiert. Wenn die Verwendung regulärer Ausdrücke in Java selbst an den entsprechenden Stellen erläutert wird. Alle Java-Beispiele werden unter JDK1.6.0_13 getestet.

1. Einführung in das Problem

Schauen wir uns zunächst ein Beispiel an. Obwohl einige Ausdrücke aus mehreren Wörtern bestehen, sind sie tatsächlich ein Ganzes Leerzeichen können in HTML-Seiten verwendet werden (d. h. geschützte Leerzeichen), damit sie in einer Zeile im Browser angezeigt werden, jetzt um mehreren solcher Leerzeichen zu entsprechen:

Text: Ihr Betriebssystem ist Windows 2000.

Regulärer Ausdruck: nbsp;{2,}

Ergebnis: Ihr Betriebssystem ist Windows 2000.

Analyse: Das hier verwendete Muster möchte mit 2 oder mehr Nicht-Neuzeilen übereinstimmen Leerzeichen, aber aus den Ergebnissen ist ersichtlich, dass nichts übereinstimmt, da das Muster nbsp;{2,} nur mit Text übereinstimmen kann, der mit nbsp;;;;;;; beginnt, mit 2 oder mehr aufeinanderfolgenden Semikolons wie nbsp;;; ;;;;.

Da es sich bei dem zuvor erwähnten wiederholten Abgleich um mehrere Wiederholungen des Zeichens unmittelbar vor dem wiederholten passenden Metazeichen handelt, aber was sollten wir tun, wenn wir eine Zeichenfolge mehrmals abgleichen möchten?

2. Unterausdruck

Daraus leiten wir den Unterausdruck ab. Ein Unterausdruck ist Teil eines größeren Ausdrucks. Der Zweck der Aufteilung eines Ausdrucks in mehrere Unterausdrücke besteht darin, diese Unterausdrücke als unabhängiges Element zu verwenden. Unterausdrücke müssen in (und) eingeschlossen werden. Daher sollte der reguläre Ausdruck im vorherigen Beispiel als (nbsp;){2,} geschrieben werden.

Sehen wir uns einen regulären Ausdruck an, der gültige Jahreszahlen übereinstimmt:

Text: 13.11.1988

Regulärer Ausdruck: (19|20)d{2}

Ergebnis: [1988]-11-13

Analyse: Um bedeutungslose Jahre auszuschließen, werden in diesem Beispiel die ersten beiden Ziffern des Jahres auf 19 oder 20 begrenzt, | regulärer Ausdruck oder Operator. Hier muss 19|20 in einen Unterausdruck eingefügt werden, also (19|20), andernfalls können nur Jahreszahlen gefunden werden, die mit 20 beginnen erlaubt, verschachtelt zu werden, und es sind mehrere Verschachtelungsebenen zulässig. Die Verschachtelungsebene ist theoretisch unbegrenzt.

Im Ausdruck ((A)(B(C))) gibt es die folgenden Unterausdrücke:

1 ((A)(B(C)))

2 (A)

3 (B(C))

4 (C)

Insgesamt gibt es 4, und die 0. stellt immer das Ganze dar Ausdruck. In den folgenden Rückverweisen stellen wir vor, wie man auf Unterausdrücke über n verweist (n ist die Nummer des Unterausdrucks).

Beispiele für verschachtelte Unterausdrücke finden Sie später im regulären Ausdruck, der IPV4-Adressen entspricht.

Ich hoffe, dass dieser Artikel für alle hilfreich ist, die reguläre Ausdrücke lernen möchten.

Weitere Tutorials zu regulären Ausdrücken und Artikel zur Analyse der Verwendung von Unterausdrücken finden Sie auf der chinesischen PHP-Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn