Heim Web-Frontend js-Tutorial Detaillierte Erläuterung des wiederholten Abgleichs im Tutorial zu regulären Ausdrücken

Detaillierte Erläuterung des wiederholten Abgleichs im Tutorial zu regulären Ausdrücken

Jan 09, 2017 pm 04:01 PM

Das Beispiel in diesem Artikel beschreibt das Tutorial zum wiederholten Abgleich regulärer Ausdrücke. Teilen Sie es wie folgt mit allen:

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

1. Wie viele Übereinstimmungen gibt es?

In den vorherigen Artikeln ging es um die Zuordnung eines Zeichens, aber ein Zeichen oder eine Reihe von Zeichen muss mehrmals übereinstimmen. Wenn Sie beispielsweise eine E-Mail-Adresse mit der oben genannten Methode abgleichen möchten, schreibt jemand möglicherweise einen regulären Ausdruck wie w@w.w, dieser kann jedoch nur mit Adressen wie a@b.c übereinstimmen, was offensichtlich falsch ist. Schauen wir uns als Nächstes an, wie das geht um E-Mail-Adressen abzugleichen.

Zunächst müssen Sie den Aufbau einer E-Mail-Adresse kennen: eine Gruppe von Zeichen, die mit einem alphanumerischen Zeichen oder einem Unterstrich beginnen, gefolgt vom @-Symbol und dann dem Domänennamen, also Benutzername@Domänenname Adresse. Dies hängt jedoch auch vom jeweiligen E-Mail-Dienstanbieter ab. Einige erlauben auch Zeichen in Benutzernamen.

1. Passen Sie ein oder mehrere Zeichen an

Um mehrere Wiederholungen desselben Zeichens (oder Satzes von Zeichen) zuzuordnen, fügen Sie einfach ein „+“ als Suffix hinzu. + entspricht einem oder mehreren Zeichen (mindestens einem). Beispiel: a entspricht einem selbst, a+ entspricht einem oder mehreren aufeinanderfolgenden a; [0-9]+ entspricht mehreren aufeinanderfolgenden Zahlen.

Hinweis: Beim Hinzufügen eines +-Suffixes zu einem Zeichensatz muss das + außerhalb des Zeichensatzes platziert werden, sonst handelt es sich nicht um eine wiederholte Übereinstimmung. Beispielsweise stellt [0-9+] eine Zahl oder ein +-Zeichen dar. Obwohl es grammatikalisch korrekt ist, ist es nicht das, was wir wollen.

Text: Hallo, mhmyqn@qq.com oder mhmyqn@126.com ist meine E-Mail.

Regulärer Ausdruck: w+@(w+.)+w+

Ergebnis: Hallo, [mhmyqn@qq.com] oder [mhmyqn@126.com] ist meine E-Mail.

Analyse: w+ kann mit einem oder mehreren Zeichen übereinstimmen, und der Unterausdruck (w+.)+ kann mit einer Zeichenfolge wie übereinstimmen xxxx.edu endet nicht mit einem ., daher steht am Ende ein w+. E-Mail-Adressen wie mhmyqn@xxxx.edu.cn werden ebenfalls abgeglichen.

2. Passen Sie null oder mehr Zeichen an, indem Sie das Metazeichen * verwenden. Die Verwendung ist genau die gleiche wie bei +, setzen Sie es einfach neben das Zeichen oder das Zeichen Nach dem Satz können Sie null oder mehrere aufeinanderfolgende Vorkommen des Zeichens (oder Zeichensatzes) abgleichen. Beispielsweise kann der reguläre Ausdruck ab*c mit ac, abc, abbbbc usw. übereinstimmen.

3. Übereinstimmung mit null oder einem Zeichen

Verwenden Sie das Metazeichen ?, um mit null oder einem Zeichen übereinzustimmen. Wie im vorherigen Artikel erwähnt, wird der reguläre Ausdruck rnrn verwendet, um eine Leerzeile abzugleichen, aber unter Unix und Linux ist r nicht erforderlich, sodass das Metazeichen ?, r?nr?n verwendet werden kann, um Leerzeilen in Windows abzugleichen. sowie Entspricht Leerzeilen unter Unix und Linux. Sehen wir uns ein Beispiel einer URL an, die dem http- oder https-Protokoll entspricht:

Text: Die URL lautet http://www.mikan.com. Um eine sichere Verbindung herzustellen, verwenden Sie stattdessen https://www.mikan.com .

Regulärer Ausdruck: https?://(w+.)+w+

Ergebnis: Die URL ist [http://www.mikan.com], um eine sichere Verbindung herzustellen, verwenden Sie [https : //www.mikan.com] stattdessen.

Analyse: Dieses Muster beginnt mit https?, was bedeutet, dass das Zeichen davor ? vorhanden sein kann oder nicht, sodass es mit http oder https, dem letzten Teil, übereinstimmen kann und der vorhergehende Teil Gleich als Beispiel.

2. Anzahl der übereinstimmenden Wiederholungen

+, * und ? in regulären Ausdrücken lösen viele Probleme, aber:

1) Anzahl der mit + und * übereinstimmenden Zeichen keine Obergrenze für die Anzahl. Wir können keine maximale Anzahl von Zeichen festlegen, mit denen sie übereinstimmen.

2) +, * und ? stimmen mit mindestens einem oder null Zeichen überein. Wir können keine andere Mindestanzahl an Zeichen festlegen, für die sie übereinstimmen.

3) Wenn wir nur * und + verwenden, können wir die Anzahl der übereinstimmenden Zeichen nicht auf eine genaue Zahl festlegen.

Reguläre Ausdrücke stellen eine Syntax zum Festlegen der Anzahl der Wiederholungen bereit. Die Anzahl der Wiederholungen sollte mit den Zeichen { und } angegeben werden, und der Wert sollte dazwischen geschrieben werden.

1. Legen Sie einen genauen Wert für die Anzahl der wiederholten Übereinstimmungen fest.

Wenn Sie einen genauen Wert für die Anzahl der wiederholten Übereinstimmungen festlegen möchten, schreiben Sie einfach die Zahl zwischen { und }. Beispielsweise bedeutet {4}, dass das Zeichen (oder die Zeichengruppe) davor im Originaltext viermal wiederholt werden muss, um als Übereinstimmung zu gelten. Wenn es nur dreimal vorkommt, wird es nicht als Übereinstimmung betrachtet.

Wie in den vorherigen Artikeln für Beispiele für passende Farben auf der Seite erwähnt, können Sie die Anzahl der Wiederholungen zum Abgleichen verwenden: #[[:xdigit:]]{6} oder #[0-9a-fA -F ]{6}, POSIX-Zeichen sind in Java #\p{XDigit}{6}.

2. Legen Sie ein Intervall für die Anzahl wiederholter Übereinstimmungen fest. Die Syntax

{} kann auch verwendet werden, um ein Intervall für die Anzahl wiederholter Übereinstimmungen festzulegen, d. h. einen Mindest- und Höchstwert festzulegen Wert. Solche Intervalle müssen in der Form {n, m} angegeben werden, wobei n>=m>=0. Zum Beispiel ein regulärer Ausdruck, um zu prüfen, ob das Datumsformat korrekt ist (ohne die Gültigkeit des Datums zu prüfen) (z. B. das Datum 2012-08-12 oder 2012-8-12): d{4}-d{1, 2}-d{1, 2}.

3. Wie oft sollte das Spiel mindestens wiederholt werden

Die letzte Verwendung der

{}-Syntax besteht darin, eine minimale Anzahl von Wiederholungen (aber nicht unbedingt eine maximale Anzahl von Wiederholungen) anzugeben, z. B. {3,}, was mindestens 3 Wiederholungen angibt. Hinweis: In {3,} muss ein Komma stehen und nach dem Komma darf kein Leerzeichen stehen. Sonst geht etwas schief.

Sehen wir uns ein Beispiel an: Verwenden Sie reguläre Ausdrücke, um alle Beträge über 100 $ zu finden:

Text:

25,36 $

125,36 $

205,0 $

2500,44 $

44,30 $

Regulärer Ausdruck: $d{3,}.d{2}

Ergebnis:

25,36 $

【125,36 $】

【205,0 $】

【2500,44 $】

44,30 $

+,*,?Ja Ausgedrückt als Anzahl der Wiederholungen:

+ ist äquivalent zu {1,}

* ist äquivalent zu {0,}

ist äquivalent zu {0,1}

3. Übereinstimmung verhindern

Kann nur null oder ein Zeichen haben, {n} und {n,m} haben auch eine Obergrenze für die Anzahl der Wiederholungen, aber wie *, +, {n, } hat keine Obergrenze, was manchmal zu einer Überanpassung führt.

Sehen wir uns ein Beispiel für die Zuordnung eines HTML-Tags an

Text:

Gestern ist Geschichte, morgen ist ein Rätsel< ;/ B>, aber heute ist ein Geschenk.

Regulärer Ausdruck: <[Bb]>.*

Ergebnis:

Gestern ist [Geschichte, morgen ist ein Rätsel, aber heute ist ein Geschenk].

Analyse: <[Bb]> trifft auf -Tags zu (ohne Berücksichtigung der Groß- und Kleinschreibung), Aber das Ergebnis ist nicht wie erwartet. Es gibt drei Übereinstimmungen nach dem ersten -Tag.

Warum passiert das? Da * und + beide gierige Metazeichen sind, ist ihr Verhalten beim Abgleich umso besser. Sie versuchen ihr Bestes, um vom Anfang eines Textes bis zum Ende des Textes zu passen, und nicht vom Anfang des Textes bis Die erste Übereinstimmung wird gefunden.

Lazy-Versionen dieser Metazeichen können verwendet werden, wenn solch ein gieriges Verhalten nicht erforderlich ist. Faul bedeutet, so wenige Zeichen wie möglich zu finden, im Gegensatz zu gierig. Faule Metazeichen müssen nur ein ?-Suffix an gierige Metazeichen anhängen. Hier ist die Lazy-Version des gierigen Metazeichens:

* *?

+ >Im obigen Beispiel muss der reguläre Ausdruck also nur in <[Bb]> geändert werden. *?. Das Ergebnis ist wie folgt:

history< /b>

mystery

gift

IV. Zusammenfassung

Regulärer Ausdruck Die wahre Kraft der Formel spiegelt sich in der passenden Anzahl von Wiederholungen wider. Hier stellen wir die Verwendung der Metazeichen +, * und ? vor. Wenn Sie die Anzahl der Übereinstimmungen genau bestimmen möchten, verwenden Sie {}. Es gibt zwei Arten von Metazeichen: Gierig und Lazy. Wenn Sie übermäßige Übereinstimmungen verhindern müssen, verwenden Sie bitte Lazy-Metazeichen, um reguläre Ausdrücke zu erstellen. Der Positionsabgleich wird im nächsten Artikel vorgestellt.

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 zum wiederholten Abgleich und verwandte Artikel finden Sie auf der chinesischen PHP-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
3 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)

Ersetzen Sie Stringzeichen in JavaScript Ersetzen Sie Stringzeichen in JavaScript Mar 11, 2025 am 12:07 AM

Detaillierte Erläuterung der Methode für JavaScript -Zeichenfolge und FAQ In diesem Artikel werden zwei Möglichkeiten untersucht, wie String -Zeichen in JavaScript ersetzt werden: Interner JavaScript -Code und interne HTML für Webseiten. Ersetzen Sie die Zeichenfolge im JavaScript -Code Die direkteste Möglichkeit ist die Verwendung der Ersatz () -Methode: str = str.replace ("find", "ersetzen"); Diese Methode ersetzt nur die erste Übereinstimmung. Um alle Übereinstimmungen zu ersetzen, verwenden Sie einen regulären Ausdruck und fügen Sie das globale Flag G hinzu:: STR = Str.Replace (/fi

Wie erstelle ich meine eigenen JavaScript -Bibliotheken? Wie erstelle ich meine eigenen JavaScript -Bibliotheken? Mar 18, 2025 pm 03:12 PM

In Artikel werden JavaScript -Bibliotheken erstellt, veröffentlicht und aufrechterhalten und konzentriert sich auf Planung, Entwicklung, Testen, Dokumentation und Werbestrategien.

Wie optimiere ich den JavaScript -Code für die Leistung im Browser? Wie optimiere ich den JavaScript -Code für die Leistung im Browser? Mar 18, 2025 pm 03:14 PM

In dem Artikel werden Strategien zur Optimierung der JavaScript -Leistung in Browsern erörtert, wobei der Schwerpunkt auf die Reduzierung der Ausführungszeit und die Minimierung der Auswirkungen auf die Lastgeschwindigkeit der Seite wird.

Wie debugge ich den JavaScript -Code effektiv mithilfe von Browser -Entwickler -Tools? Wie debugge ich den JavaScript -Code effektiv mithilfe von Browser -Entwickler -Tools? Mar 18, 2025 pm 03:16 PM

In dem Artikel werden effektives JavaScript -Debuggen mithilfe von Browser -Entwickler -Tools, der Schwerpunkt auf dem Festlegen von Haltepunkten, der Konsole und der Analyse der Leistung erörtert.

JQuery Matrixeffekte JQuery Matrixeffekte Mar 10, 2025 am 12:52 AM

Bringen Sie Matrix -Filmeffekte auf Ihre Seite! Dies ist ein cooles JQuery -Plugin, das auf dem berühmten Film "The Matrix" basiert. Das Plugin simuliert die klassischen grünen Charakter-Effekte im Film und wählen Sie einfach ein Bild aus, und das Plugin verwandelt es in ein mit numerischer Zeichen gefüllte Bild im Matrix-Stil. Komm und probiere es aus, es ist sehr interessant! Wie es funktioniert Das Plugin lädt das Bild auf die Leinwand und liest die Pixel- und Farbwerte: Data = ctx.getImagedata (x, y, setting.grainize, setting.grainesize) .data Das Plugin liest geschickt den rechteckigen Bereich des Bildes und berechnet JQuery, um die durchschnittliche Farbe jedes Bereichs zu berechnen. Dann verwenden Sie

So bauen Sie einen einfachen JQuery Slider So bauen Sie einen einfachen JQuery Slider Mar 11, 2025 am 12:19 AM

In diesem Artikel werden Sie mit der JQuery -Bibliothek ein einfaches Bildkarousel erstellen. Wir werden die BXSLIDER -Bibliothek verwenden, die auf JQuery basiert und viele Konfigurationsoptionen zum Einrichten des Karussells bietet. Heutzutage ist Picture Carousel zu einem Muss auf der Website geworden - ein Bild ist besser als tausend Wörter! Nachdem Sie sich entschieden haben, das Bild -Karussell zu verwenden, ist die nächste Frage, wie Sie es erstellen. Zunächst müssen Sie hochwertige, hochauflösende Bilder sammeln. Als nächstes müssen Sie ein Bildkarousel mit HTML und einem JavaScript -Code erstellen. Es gibt viele Bibliotheken im Web, die Ihnen helfen können, Karussell auf unterschiedliche Weise zu erstellen. Wir werden die Open -Source -BXSLIDER -Bibliothek verwenden. Die BXSLIDER -Bibliothek unterstützt reaktionsschnelles Design, sodass das mit dieser Bibliothek gebaute Karussell an alle angepasst werden kann

Verbesserung des strukturellen Markups mit JavaScript Verbesserung des strukturellen Markups mit JavaScript Mar 10, 2025 am 12:18 AM

Wichtige Punkte erweiterte strukturierte Tagging mit JavaScript können die Zugänglichkeit und Wartbarkeit von Webseiteninhalten erheblich verbessern und gleichzeitig die Dateigröße reduzieren. JavaScript kann effektiv verwendet werden, um HTML -Elementen dynamisch Funktionen hinzuzufügen, z. Durch das Integrieren von JavaScript in strukturierte Tags können Sie dynamische Benutzeroberflächen erstellen, z. B. Tabletten, für die keine Seiten -Aktualisierung erforderlich ist. Es ist entscheidend sicherzustellen, dass JavaScript -Verbesserungen die grundlegende Funktionalität von Webseiten nicht behindern. Erweiterte JavaScript -Technologie kann verwendet werden (

So laden und herunterladen Sie CSV -Dateien mit Angular hoch und laden Sie sie herunter So laden und herunterladen Sie CSV -Dateien mit Angular hoch und laden Sie sie herunter Mar 10, 2025 am 01:01 AM

Datensätze sind äußerst wichtig für den Aufbau von API -Modellen und verschiedenen Geschäftsprozessen. Aus diesem Grund ist das Import und Exportieren von CSV eine häufig benötigte Funktionalität. In diesem Tutorial lernen Sie, wie Sie eine CSV-Datei in einem Angular herunterladen und importieren.

See all articles