Heim Web-Frontend js-Tutorial Ausführliche Erklärung des Lookarounds vor und nach regulären Ausdrücken, Tutorial_regular expression

Ausführliche Erklärung des Lookarounds vor und nach regulären Ausdrücken, Tutorial_regular expression

Jun 28, 2017 pm 01:47 PM
查找 表达式

In diesem Artikel wird hauptsächlich das Lookaround vor und nach dem regulären Ausdruck-Tutorial vorgestellt und die Implementierungstechniken und Vorsichtsmaßnahmen der Forward-Lookup- und Backward-Lookup-Funktionen anhand spezifischer Probleme analysiert Wer es braucht, kann auf

zurückgreifen. In diesem Artikel wird die Umsicht vor und nach dem Tutorial zu regulären Ausdrücken anhand von Beispielen erläutert. 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. Problemeinführung

Passen Sie in einer HTML-Seite den Text zwischen einem Tag-Paar an, z. B. indem Sie ihn mit den Tags der Seite abgleichen , und :

Text:

Willkommen auf meiner Seite

Regulärer Ausdruck:

<[Tt][Ii][Tt][Ll][Ee]>.*? Analyse: <[Tt][Ii][Tt][Ll][Ee]> bedeutet, dass die Groß-/Kleinschreibung nicht beachtet wird, aber es ist so nicht perfekt, weil wir nur den Text zwischen den Titel-Tags wollen, nicht die Tags selbst. Um dieses Problem zu lösen, müssen wir Lookaround verwenden.

2. Vorwärtssuche Die Vorwärtssuche gibt ein Muster an, das übereinstimmen muss, aber nicht im Ergebnis zurückgegeben wird. Die Vorwärtssuche ist eigentlich ein Unterausdruck, der mit ?= beginnt und auf den der zu vergleichende Text folgt.

Sehen Sie sich ein Beispiel für den Abgleich des Protokollteils einer URL-Adresse an:

Text:

http://blog.csdn.net/mhmyqn

Regulärer Ausdruck: .

+(?=:)

Ergebnis:

[http]://blog.csdn.net/mhmyqn

Analyse: Der Protokollteil in der URL-Adresse ist der Teil vor :, das Muster .+ stimmt mit jedem Text überein, der Unterausdruck (?=:) stimmt mit: überein, aber das übereinstimmende: erscheint nicht im Ergebnis. Wir verwenden ?=, um der Engine für reguläre Ausdrücke anzuzeigen, dass es zwar in Ordnung ist, solange es gefunden wird, aber nicht in das endgültige Rückgabeergebnis einbezogen wird. Wenn Sie hier keinen Vorwärtsvergleich (?=:) verwenden, sondern (:) direkt verwenden, lautet das Übereinstimmungsergebnis http:, einschließlich:, was nicht das ist, was wir wollen.

Hinweis: Die Angaben „Vorne“ und „Rückseite“ in der Vorder- und Rückseitensuche beziehen sich auf die relative Position zwischen dem Muster und dem zu durchsuchenden Text. Links ist die Vorderseite und rechts die Rückseite. Das heißt, die Vorwärtssuche lautet: xxx(?=xxx) und die Rückwärtssuche lautet (?<=xxx)xxx. Als nächstes wird die Rückwärtssuche eingeführt. 3. Rückwärtssuche

Rückwärtssuche

Operator ist?<=. Allerdings unterstützen nicht alle regulären Ausdrucksimplementierungen die Rückwärtssuche. JavaScript

unterstützt die Rückwärtssuche nicht.

Wenn Sie beispielsweise den Preis im Text finden möchten (beginnend mit $, gefolgt von einer Zahl), enthält das Ergebnis nicht das Währungssymbol:

Text:

Kategorie1:136,25 $, Kategorie2:28 $, Kategorie3:88,60 $Regulärer Ausdruck: (?<=$)d+(.d+)?

Ergebnis:

Kategorie1:$【136,25】,Kategorie2:$

【28】

,Kategorie3:$【88,60】

Analyse: (?<=$) Muster entspricht $,d+(.d+)? Muster entspricht ganzen Zahlen oder Dezimalzahlen. Wie aus den Ergebnissen hervorgeht, enthält das Ergebnis nicht das Währungssymbol, sondern nur den Preis. Was würde passieren, wenn wir keine Rückwärtssuche verwenden würden? Verwenden Sie das Muster $d+(.d+)?, das $ in das Ergebnis einbezieht. Die Verwendung des Musters d+(.d+)? wird auch mit den Zahlen in Kategorie1(23) übereinstimmen, was nicht das ist, was wir wollen. Hinweis: Die Länge des Vorwärtssuchmusters ist variabel und sie können Metazeichen wie ., *, + enthalten, während das Rückwärtssuchmuster nur eine feste Länge haben kann und keine , enthalten kann. *, + und andere Metazeichen. 4. Kombinieren Sie Vorwärtssuche und Rückwärtssuche

Verwenden Sie Vorwärtssuche und Rückwärtssuche zusammen, um das vorherige Problem zu lösen

Problem mit Text zwischen HTML-Tags :

Text:

Willkommen auf meiner Seite

Regulärer Ausdruck: (?<=<[Tt][Ii][Tt][Ll][Ee]>).*?(?=)

Ergebnis:<span style="color: #ff6600">【Willkommen auf meiner Seite】</span></title> ; </head></span></p> <p>Analyse: Aus den Ergebnissen ist ersichtlich, dass das Problem perfekt gelöst ist. (?<=<[Tt][Ii][Tt][Ll][Ee]>) ist eine Rückwärtsoperation, die mit <title> übereinstimmt, ihn aber nicht verbraucht, (?=</[Tt ][Ii][Tt][Ll][Ee]>) ist eine Vorwärtsoperation, die mit übereinstimmt, diese aber nicht verbraucht. Das endgültig zurückgegebene Übereinstimmungsergebnis enthält nur den Text zwischen den Tags.

5. Negieren Sie die Vorwärts- und Rückwärtssuche

Die zuvor erwähnte Vorwärtssuche und Rückwärtssuche werden normalerweise zum Abgleichen von Text verwendet und dienen dazu, festzustellen, ob die Position des Textes des zurückgegebenen übereinstimmenden Ergebnisses (durch Angabe, welcher Text vor und nach dem übereinstimmenden Ergebnis stehen muss). Diese Verwendung wird als Vorwärtssuche und Vorwärtssuche bezeichnet. Es gibt auch eine negative Vorwärtssuche und eine negative Rückwärtssuche, die Text finden, der nicht mit einem bestimmten Muster übereinstimmt.

Operatoren für die Suche vor und nach:

(?=) 正向前查找
(?!) 负向前查找
(?<=) 正向后查找
(? 负向后查找

Zum Beispiel gibt es einen Preis in einem Textabschnitt (beginnend mit $ , gefolgt von einer Zahl) und Menge, wir müssen den Preis und die Menge herausfinden, schauen wir uns zuerst den Preis an:

Text: Ich habe 30 $ für 10 Äpfel, 15 Orangen und 10 Birnen bezahlt . Ich habe bei dieser Bestellung 5 $ gespart.

Regulärer Ausdruck: (?<=$)d+

Ergebnis: Ich habe bezahlt „30 $“ für 10 Äpfel, 15 Orangen und 10 Birnen habe ich 【5 $] bei dieser Bestellung gespart Birnen. Ich habe bei dieser Bestellung 5 $ gespart.

Regulärer Ausdruck: b(? Ergebnis:

I Ich habe 30 $ für

【10】 Äpfel, 【15】

Orangen und

【10】 Birnen bezahlt. Ich habe bei dieser Bestellung 5 $ gespart.

Analyse: (? 6. Zusammenfassung Mit der Vorwärts- und Rückwärtssuche können Sie genau steuern, welche Inhalte im endgültigen Matching-Ergebnis enthalten sind. Die Vorher-Nachher-Suchoperation ermöglicht es uns, Unterausdrücke zu verwenden, um den Ort anzugeben, an dem die Textübereinstimmungsoperation stattfindet, und den Effekt zu erzielen, dass sie nur übereinstimmt, aber nicht verbraucht.

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

Online-Testtool für reguläre JavaScript-Ausdrücke :

http://tools.jb51.net/regex/javascript

Online-Generierungstool für reguläre Ausdrücke:

http://tools.jb51.net/regex/create_reg

Das obige ist der detaillierte Inhalt vonAusführliche Erklärung des Lookarounds vor und nach regulären Ausdrücken, Tutorial_regular expression. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Wie man alles in Myrise freischaltet
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

So deaktivieren Sie „Mein iPhone suchen'. So deaktivieren Sie „Mein iPhone suchen'. Nov 09, 2023 pm 02:21 PM

Was passiert, wenn Sie Find My auf dem iPhone deaktivieren? „Mein iPhone suchen“ hilft Ihnen, ein verlorenes oder gestohlenes Gerät zu finden. Wenn die Funktion „Mein iPhone suchen“ aktiviert ist, können Sie den Standort Ihres Geräts auf einer Karte verfolgen, Töne abspielen und Ihnen bei der Suche nach Ihrem Gerät helfen. Find My verfügt außerdem über eine Aktivierungssperre, um zu verhindern, dass jemand Ihr iPhone verwendet. Wenn Sie „Mein iPhone suchen“ deaktivieren, gehen alle diese Funktionen verloren, was die Wiederherstellung eines verlorenen Apple-Geräts erschweren kann. Obwohl Find My iPhone sehr nützlich ist, sollten Sie es deaktivieren, wenn Sie Ihr Telefon verkaufen, spenden, eintauschen oder zum Batteriewechsel oder für einen anderen Service einsenden möchten. Dadurch wird sichergestellt, dass niemand auf Informationen über Sie zugreifen kann

4 Möglichkeiten, Find My auf dem iPhone zu deaktivieren 4 Möglichkeiten, Find My auf dem iPhone zu deaktivieren Feb 02, 2024 pm 04:15 PM

Mit der Find My-App von Apple können Sie Ihr iPhone oder ein anderes Gerät orten, um zu verhindern, dass es verloren geht oder vergessen wird. Obwohl Find My ein nützliches Tool zum Verfolgen von Geräten ist, möchten Sie es möglicherweise deaktivieren, wenn Sie Bedenken hinsichtlich der Privatsphäre haben, Ihren Akku nicht entladen möchten oder aus anderen Gründen. Glücklicherweise gibt es mehrere Möglichkeiten, Find My auf dem iPhone zu deaktivieren, die wir alle in diesem Artikel erklären. So deaktivieren Sie Find My auf dem iPhone [4 Methoden] Sie können Find My auf dem iPhone auf vier Arten deaktivieren. Wenn Sie Methode 1 zum Deaktivieren der Suchfunktion verwendet haben, können Sie dies von dem Gerät aus tun, auf dem Sie die Funktion deaktivieren möchten. Um mit den Methoden 2, 3 und 4 fortzufahren, sollte das iPhone, auf dem Sie Find Finder deaktivieren möchten, ausgeschaltet sein oder

Finden Sie den Index eines Elements in einem Array mit der Funktion Array.IndexOf in C# Finden Sie den Index eines Elements in einem Array mit der Funktion Array.IndexOf in C# Nov 18, 2023 am 09:59 AM

Verwenden Sie die Funktion Array.IndexOf in C#, um den Index eines Elements in einem Array zu ermitteln. Wenn wir in einem C#-Programm den Index eines Elements in einem Array ermitteln müssen, können wir die Funktion Array.IndexOf verwenden. Die Funktion Array.IndexOf findet das angegebene Element innerhalb des angegebenen Array-Bereichs und gibt den Index seines ersten Vorkommens zurück. Wenn das Element nicht gefunden wird, wird -1 zurückgegeben. Im Folgenden finden Sie einen Beispielcode, der zeigt, wie Sie mit der Funktion Array.IndexOf ein Element in einem Array finden.

So überprüfen Sie die Seriennummer und die MAC-Adresse der Festplatte So überprüfen Sie die Seriennummer und die MAC-Adresse der Festplatte Feb 18, 2024 pm 07:45 PM

Seriennummern und MAC-Adressen von Festplatten sind wichtige Kennungen in der Computerhardware und sehr nützlich bei der Verwaltung und Wartung von Computersystemen. In diesem Artikel erfahren Sie, wie Sie die Seriennummer und die MAC-Adresse der Festplatte ermitteln. 1. Finden Sie die Seriennummer der Festplatte. Die Seriennummer der Festplatte ist eine eindeutige Kennung, die vom Festplattenhersteller zur Identifizierung und Nachverfolgung der Festplatte verwendet wird. In verschiedenen Betriebssystemen unterscheidet sich die Methode zum Ermitteln der Seriennummer der Festplatte geringfügig. Windows: Öffnen Sie die Eingabeaufforderung (suchen Sie im Startmenü nach „cmd“), geben Sie den folgenden Befehl ein und drücken Sie die Eingabetaste: wmicdisk

Die Funktion glob() in PHP wird zum Suchen von Dateien oder Verzeichnissen verwendet Die Funktion glob() in PHP wird zum Suchen von Dateien oder Verzeichnissen verwendet Nov 18, 2023 pm 06:17 PM

Die Funktion glob() in PHP wird zum Suchen von Dateien oder Verzeichnissen verwendet und ist eine leistungsstarke Dateioperationsfunktion. Es kann den Pfad einer Datei oder eines Verzeichnisses basierend auf einer angegebenen Musterübereinstimmung zurückgeben. Die Syntax der glob()-Funktion lautet wie folgt: glob(pattern, flags) wobei „pattern“ die abzugleichende Musterzeichenfolge darstellt, die ein Platzhalterausdruck sein kann, z. B. *.txt (übereinstimmende Dateien mit der Endung .txt) oder einen bestimmten Dateipfad. Flags ist ein optionaler Parameter, der zur Steuerung der Funktion verwendet wird

Finden Sie den Start- und Endindex von Elementen in einem unsortierten Array in C++ Finden Sie den Start- und Endindex von Elementen in einem unsortierten Array in C++ Aug 29, 2023 am 10:17 AM

In diesem Problem erhalten wir ein Array aar[], das n unsortierte Ganzzahlwerte und einen Ganzzahlwert enthält. Unsere Aufgabe besteht darin, den Start- und Endindex eines Elements in einem unsortierten Array zu finden. Bei Vorkommen eines Elements im Array geben wir „Startindex und Endindex“ zurück (sofern es zweimal oder öfter im Array gefunden wird). „Einzelner Index“ (falls gefunden) „Element existiert nicht“, wenn nicht im Array vorhanden. Nehmen wir ein Beispiel, um das Problem zu verstehen. Beispiel 1Input:arr[]={2,1,5,4,6,2,3},val=2Output:startingindex=0,endingindex=5 erklärt, dass Element 2 zweimal vorkommt , Das erste Mal erscheint bei Index = 0, das zweite Mal

So finden Sie die Seriennummer Ihrer Computerfestplatte So finden Sie die Seriennummer Ihrer Computerfestplatte Feb 20, 2024 am 10:33 AM

So überprüfen Sie die Seriennummer einer Computerfestplatte Mit der Entwicklung der Computertechnologie sind Computerfestplatten zu einem unverzichtbaren Bestandteil unseres Lebens geworden. Ganz gleich, ob Sie wichtige Dateien speichern oder Betriebssysteme und Software installieren, Sie müssen sich dabei auf die Festplatte verlassen können. Das Verständnis einiger grundlegender Informationen über die Computerfestplatte, wie beispielsweise der Seriennummer der Festplatte, kann uns dabei helfen, das Computersystem besser zu verwalten und zu warten. Wie kann man also die Seriennummer der Computerfestplatte überprüfen? In diesem Artikel werden mehrere gängige Methoden vorgestellt. Methode 1: Verwenden Sie das Befehlszeilentool, das mit dem Windows-System geliefert wird

Wie schreibe ich einen Hash-Suchalgorithmus in Python? Wie schreibe ich einen Hash-Suchalgorithmus in Python? Sep 21, 2023 pm 02:37 PM

Wie schreibe ich einen Hash-Suchalgorithmus in Python? Der Hash-Suchalgorithmus, auch Hash-Suchalgorithmus genannt, ist eine Datensuchmethode, die auf einer Hash-Tabelle basiert. Im Vergleich zu herkömmlichen Suchalgorithmen wie der linearen Suche und der binären Suche weist der Hash-Suchalgorithmus eine höhere Sucheffizienz auf. In Python können wir ein Wörterbuch verwenden, um eine Hash-Tabelle zu implementieren und dann eine Hash-Suche zu implementieren. Die Grundidee des Hash-Suchalgorithmus besteht darin, das zu durchsuchende Schlüsselwort über eine Hash-Funktion in einen Indexwert umzuwandeln und es dann anhand des Indexwerts in der Hash-Tabelle zu durchsuchen.

See all articles