Heim Web-Frontend js-Tutorial So verwenden Sie reguläre Ausdrücke, um Lookarounds zu finden

So verwenden Sie reguläre Ausdrücke, um Lookarounds zu finden

Mar 30, 2018 am 09:21 AM
查找 正则

Dieses Mal zeige ich Ihnen, wie Sie reguläre Ausdrücke verwenden, um Lookarounds zu finden. Hier sind praktische Fälle. Die Beispiele in diesem Artikel beschreiben die Umgehung vor und nach dem 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. 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

Der Rückwärtssuchoperator 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übereinstimmung $,d+(.d+)? Musterübereinstimmung mit Ganzzahl oder Dezimalzahl. 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, sie können Metazeichen wie ., *, + enthalten, während das Rückwärtssuchmuster nur eine feste Länge haben kann enthalten Metazeichen wie ., *, +.

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 style="text-align: left;">Analyse: Wie aus den Ergebnissen hervorgeht, ist das Problem perfekt gelöst. (?<=<[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 oben 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 übereinstimmenden Ergebnisses, der zurückgegeben wird (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 davor und danach:

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

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.

Ich glaube, dass Sie die Methode beherrschen, nachdem Sie den Fall in diesem Artikel gelesen haben. Bitte folgen Sie PHP für weitere spannende Informationen. Andere verwandte Artikel auf der chinesischen Website! Empfohlene Lektüre:

Tutorial zum Positionsabgleich des Tutorials zu regulären Ausdrücken (mit Code)

Regelmäßig mit PHP und JS implementiert passende Passwörter, die Zahlen und Buchstaben kombinieren

Das obige ist der detaillierte Inhalt vonSo verwenden Sie reguläre Ausdrücke, um Lookarounds zu finden. 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)
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Wie man alles in Myrise freischaltet
4 Wochen 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

So ersetzen Sie eine Zeichenfolge, die mit „was' beginnt, durch einen regulären PHP-Ausdruck So ersetzen Sie eine Zeichenfolge, die mit „was' beginnt, durch einen regulären PHP-Ausdruck Mar 24, 2023 pm 02:57 PM

Reguläre PHP-Ausdrücke sind ein leistungsstarkes Werkzeug zur Textverarbeitung und -konvertierung. Es kann Textinformationen effektiv verwalten, indem es Textinhalte analysiert und sie gemäß bestimmten Mustern ersetzt oder abfängt. Eine häufige Anwendung regulärer Ausdrücke besteht darin, Zeichenfolgen zu ersetzen, die mit bestimmten Zeichen beginnen. Wir werden dies wie folgt erklären

Wie ordne ich mehrere Wörter oder Zeichenfolgen mithilfe des regulären Golang-Ausdrucks zu? Wie ordne ich mehrere Wörter oder Zeichenfolgen mithilfe des regulären Golang-Ausdrucks zu? May 31, 2024 am 10:32 AM

Reguläre Golang-Ausdrücke verwenden das Pipe-Zeichen |, um mehrere Wörter oder Zeichenfolgen abzugleichen, wobei jede Option als logischer ODER-Ausdruck getrennt wird. Zum Beispiel: Entspricht „fox“ oder „dog“: fox|dog entspricht „quick“, „brown“ oder „lazy“: (quick|brown|lazy) entspricht „Go“, „Python“ oder „Java“: Go| Python |Java sucht nach Wörtern oder 4-stelligen Postleitzahlen: ([a-zA

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

See all articles