Heim > Web-Frontend > js-Tutorial > Detaillierte Erläuterung der Rückreferenz regulärer Ausdrücke_reguläre Ausdrücke

Detaillierte Erläuterung der Rückreferenz regulärer Ausdrücke_reguläre Ausdrücke

微波
Freigeben: 2017-06-28 13:49:30
Original
1613 Leute haben es durchsucht

Dieser Artikel stellt hauptsächlich die Reguläre AusdrückeLerntutorial-RückreferenzierungReferenzRückreferenzierung vor und analysiert das Konzept, die Funktion und die Implementierungsfähigkeiten der Rückreferenzierung im Detail in Form von Beispielen Sie können sich auf das folgende Beispiel beziehen

Dieser Artikel beschreibt die Rückreferenzierung mit regulären Ausdrücken. Teilen Sie es als Referenz mit allen. Die Details lauten wie folgt:

In allen Beispielen sind die Ergebnisse des regulären Ausdrucks zwischen [und] im Quelltext enthalten. Einige Beispiele werden mit Java implementiert . Handelt es sich um die Verwendung regulärer Ausdrücke in Java selbst, wird dies an entsprechender Stelle erläutert. Alle Java-Beispiele werden unter JDK1.6.0_13 getestet.

1. Problemeinführung

Ein Problem beim Abgleichen von Titel-Tags (H1-H6) in HTML-Seiten:

Text:

<body>
<h1>Welcome to my page</H1>
Content is pided into twosections:<br>
<h2>Introduction</h2>
Information about me.
<H2>Hobby</H2>
Information about my hobby.
<h2>This is invalid HTML</h3>
</body>
Nach dem Login kopieren
Nach dem Login kopieren

Regulärer Ausdruck: <[hH][1-6]>.*?

Ergebnis:


Willkommen auf meiner Seite


Der Inhalt ist in zwei Abschnitte unterteilt:
🎜>

Einführung


Informationen über mich.

Hobby


Informationen über mein Hobby. [1-6]> entspricht dem Eröffnungs-Tag eines beliebigen Titels der ersten Ebene und unterscheidet nicht zwischen Groß- und Kleinschreibung. In diesem Beispiel entspricht es

, Entspricht

, ; hier wird das Lazy
-Metazeichen
verwendet, um den Text im Tag abzugleichen Übereinstimmung mit dem ersten Der Inhalt zwischen dem öffnenden Tag und dem letzten schließenden Tag. Aus den Ergebnissen geht jedoch hervor, dass auch ein ungültiges Tag gefunden wurde, nämlich

, und es konnte überhaupt kein Treffer gefunden werden. Um dieses Problem zu lösen, müssen Sie eine Rückreferenz verwenden.
2. Rückverweisübereinstimmung

Rückverweis bedeutet, dass sich die zweite Hälfte des Musters auf den in der ersten Hälfte definierten Unterausdruck bezieht.

Die Verwendung, Unterteilung und Referenz von Unterausdrücken wurde bereits eingeführt. Lösen wir nun das vorherige Beispiel:

Text:

Regulärer Ausdruck: <[hH]([1-6])>.*?< [hH]1>

Ergebnis:

<body>
<h1>Welcome to my page</H1>
Content is pided into twosections:<br>
<h2>Introduction</h2>
Information about me.
<H2>Hobby</H2>
Information about my hobby.
<h2>This is invalid HTML</h3>
</body>
Nach dem Login kopieren
Nach dem Login kopieren

Willkommen auf meiner Seite

Der Inhalt ist in zwei Abschnitte unterteilt:

Einführung


Informationen über mich.

Informationen zu meinem Hobby.

Dies ist ungültiges HTML


Analyse: Zuerst das Muster des öffnenden Titel-Tags abgleichen< ; [hH]([1-6])>, verwenden Sie Klammern, um [1-6] als Unterausdruck zu behandeln, und das passende Endtitel-Tag-Muster ist , wobei 1 bedeutet, auf den ersten zu verweisen Unterausdruck, also ([1-6]) entspricht 1, dann entspricht 1 auch 1. Wenn er mit 2 übereinstimmt, entspricht 1 auch 2, sodass der letzte ungültig ist Tag wird nicht abgeglichen.

PS: Hier sind zwei weitere praktische Tools für reguläre Ausdrücke als Referenz:

JavaScriptOnline-Testtool für reguläre Ausdrücke:

http://tools.jb51.net/regex/javascriptOnline-Generierungstool für reguläre Ausdrücke:
http://tools.jb51.net/regex/create_reg

Das obige ist der detaillierte Inhalt vonDetaillierte Erläuterung der Rückreferenz regulärer Ausdrücke_reguläre Ausdrücke. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage