Detaillierte Erklärung der praktischen Anwendung regulärer Ausdrücke in JavaScript

Detaillierte Erklärung der praktischen Anwendung regulärer Ausdrücke in JavaScript

In der tatsächlichen Arbeit werden reguläre Ausdrücke in JavaScript immer noch häufig verwendet. Daher ist dieses Wissen sehr wichtig.

1. Grundlegende Grammatik:

Erstens: Wörtliche Syntax

var Ausdruck=/Muster/Flags;

Zweitens: RegExp-Konstruktorsyntax

var pattern = /\w/gi; //Literalsyntax var pattern = new RegExp('\\w', 'gi'); //Konstruktorsyntax, diese beiden sind gleichwertig

Hierbei ist zu beachten, dass bei dynamischen regulären Ausdrücken nur die zweite Option ausgewählt werden kann.

Die Flaggen haben 3 Flaggen

g: gibt ein globales Muster an, d. h. das Muster wird auf alle Zeichenfolgen angewendet, anstatt sofort anzuhalten, wenn die erste Übereinstimmung gefunden wird;

i: gibt einen Modus an, bei dem die Groß-/Kleinschreibung nicht beachtet wird, d. h. die Groß-/Kleinschreibung des Musters und der Zeichenfolge wird bei der Ermittlung der Übereinstimmung ignoriert;

m: Gibt den Mehrzeilenmodus an, d. h. wenn das Ende einer Textzeile erreicht ist, wird die Suche fortgesetzt, um zu prüfen, ob in der nächsten Zeile ein Element vorhanden ist, das dem Muster entspricht.

Natürlich gibt es noch weitere Flaggen, diese werden jedoch selten verwendet und werden hier nicht näher erläutert.

Was das obige \w bedeutet, erfahren Sie kurz, lesen Sie dann bitte weiter.

2. Methoden

Die wichtigsten sind test(), search(), match() und replace(). Natürlich gibt es noch viele weitere Methoden, auf die ich hier aber nicht näher eingehen werde, da sie selten verwendet werden.

1. Verwendung der test()-Methode

Ermitteln, ob eine Zeichenfolge eine entsprechende Zeichenfolge enthält

2. Verwendung der search()-Methode

Sucht nach dem Index des ersten Vorkommens der Zeichenfolge und gibt -1 zurück, wenn es nicht gefunden wird.

3. Verwendung der match()-Methode

Gibt ein Array von Übereinstimmungen zurück

4. Die Verwendung der replace()-Methode ist immer noch sehr verbreitet

Stimmt mit einer Zeichenfolge überein und ersetzt sie durch eine andere Zeichenfolge

3. Ausdrücke und tatsächlicher Kampf abgleichen

1. Behauptungen:

Eine Behauptung gibt an, dass unter bestimmten Bedingungen eine Übereinstimmung auftritt. Kurz gesagt, das Konzept ist etwas verwirrend, also lesen Sie einfach weiter. Lassen Sie mich langsam weitermachen.

Charakter beschreiben
^ Entspricht dem Anfang
$ Stimmt mit dem Ende überein
\B Passende Wortgrenzen
\B Stimmt mit Nicht-Wortgrenzen überein

Zum Beispiel

Ich möchte eine Übereinstimmung mit einer Zeichenfolge finden, die mit „Dog“ beginnt und mit „Dog“ endet, wobei die Groß-/Kleinschreibung ignoriert wird.

var pattern = /^dog$/i; //Groß- und Kleinschreibung ignorieren console.log(pattern.test('dog')); //true
Konsole.log(Muster.Test('sdfdog'));//falsch
Konsole.log(Muster.Test('dog56'));//falsch
Konsole.log(Muster.Test('dOG'));//wahr
var pattern = /\b\w+/g; //Globale Übereinstimmung, das + ist hier ein Quantifizierer, der 1 oder mehr Mal darstellt console.log('Hallo Welt'.match(pattern)); //Ausgabe ['Hallo','Welt'], dies ist die Verwendung von match, es wird ein Array von Übereinstimmungen zurückgegeben.

Hier entspricht \b der Grenze eines Wortes und \B der Grenze eines Nicht-Worts. Einer ist klein und einer groß, bei den Großbuchstaben ist es umgekehrt. Mehr brauche ich dann nicht zu sagen.

Reden wir über Wortgrenzen. Vielleicht sind sich viele Leute über Wortgrenzen nicht ganz im Klaren.

Lassen Sie es mich kurz erklären. Beispielsweise hat das Wort „Hello World“ vier Grenzen, nämlich die Position H, die Position O, die Position W und die Position d.

2. Charakterklasse:

Metazeichen beschreiben
. Findet ein einzelnes Zeichen, außer Newline und Zeilenabschluss
\w Finde Wortzeichen, die [A-Za-z0-9_] entsprechen.
\W Findet Nicht-Wortzeichen, äquivalent zu [^A-Za-z0-9_]
Die unten aufgeführten Antonyme werden nicht mehr aufgeführt.
\D Suche nach einer Zahl, die [0-9] entspricht
\S Suchen nach Leerzeichen
\0 Suchen nach NULL-Zeichen
\N Zeilenumbrüche suchen
\F Suchen von Seitenumbrüchen
\R Suchen nach Wagenrücklauf
\T Tabulatorzeichen suchen
\v Suchen nach vertikalen Tabulatorzeichen

3. Geltungsbereich:

Charakter beschreiben
[ABC] Passt zu jedem Zeichen in a, b, c
[^abc] Stimmt mit jedem Zeichen überein, das nicht a, b oder c ist.
[0-9] Stimmt mit jeder Zahl im Bereich 0 bis 9 überein. Ebenso stimmt [az] mit jedem Zeichen im Bereich az überein.
[az] Stimmt mit jedem Zeichen zwischen a und z überein
x|y Entspricht x oder y

4. Quantifizierer:

Charakter beschreiben
n+ Stimmt mit jeder Zeichenfolge überein, die mindestens ein Zeichen enthält n
N* Stimmt mit jeder Zeichenfolge überein, die null oder mehr n enthält.
N? Stimmt mit jeder Zeichenfolge überein, die null oder eins enthält n
n{x} Entspricht einer Zeichenfolge, die x n enthält
n{x,y} Entspricht einer Zeichenfolge mit mindestens x und höchstens y n Zeichen

4. Erweiterung

Entspricht einer Zahl zwischen 10 und 36

var Muster = /1[2-9]|[2-3][0-9]|4[0-6]/;//12-46

Konsole.log(Muster.Test(11));//falsch
konsole.log(muster.test(12));//wahr
konsole.log(muster.test(20));//wahr
konsole.log(muster.test(36));//wahr
konsole.log(muster.test(46));//wahr
Konsole.log(Muster.Test(47));//falsch

Ersetzen Sie „Hallo“ in „Hallo Welt! Hallo“ durch „Willkommen“

Hier legen wir vor allem Wert auf die Verwendung der Replace-Methode in regulären Ausdrücken, da diese in der Praxis sehr häufig zum Einsatz kommt. Es macht einen großen Unterschied, ob man den Flags das g hinzufügt oder nicht.

var Muster = /Hallo/g;

var oldString = 'Hallo, Welt! Hallo';
var newString = oldString.replace(pattern, 'Willkommen');
console.log(newString);//Willkommen,Welt!Willkommen

Zusammenfassen

Dies ist das Ende dieses Artikels über die praktische Anwendung von regulären Ausdrücken in JavaScript. Weitere relevante reguläre Ausdrücke in JavaScript finden Sie in früheren Artikeln auf 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, dass jeder 123WORDPRESS.COM in Zukunft unterstützen wird!

Das könnte Sie auch interessieren:
  • Eine kurze Diskussion über die Anwendung gängiger regulärer Ausdrücke in Javascript
  • Das Konzept und die Anwendung regulärer Ausdrücke in JavaScript
  • Anwendung des mehrzeiligen Attributs des regulären JavaScript-Ausdrucks
  • Beispiel für die Konvertierung regulärer Ausdrücke in einer JS-Anwendung
  • js ersetzen regulären Ausdruck Anwendungsfall Erklärung
  • Detaillierte Erklärung zur Anwendung regulärer Ausdrücke in Javascript

<<:  Detaillierte Erklärung, wie Sie die Fallstricke beim Ersetzen von logischem SQL in MySQL vermeiden können

>>:  Linux-Debugging-Tools, die sich Entwickler und Betreiber unbedingt ansehen sollten [Empfohlen]

Artikel empfehlen

So implementieren Sie einen reibungslosen Neustart von Nginx

1. Hintergrund Während des Serverentwicklungsproz...

MySQL-Methode zur Sperrensteuerung für Parallelität

Inhaltsverzeichnis Vorwort 1. Optimistisches Sper...

js fügt dynamisch Beispielcode für eine Liste eingekreister Zahlen hinzu

1. Fügen Sie zuerst das ul-Tag im Textkörper hinz...

So verwenden Sie eine VLAN-getaggte Ethernet-Karte im CentOS/RHEL-System

In einigen Szenarien möchten wir derselben Ethern...

Implementierung zum Zeichnen einer Audio-Wellenform mit wavesurfer.js

1. Sehen Sie sich die Renderings an Weiterleiten ...

Detaillierte Erklärung der Vuex-Umgebung

Inhaltsverzeichnis Erstellen Sie eine Vuex-Umgebu...

LinkedIn wird überarbeitet, um das Surfen auf der Website zu vereinfachen

Das geschäftliche Social-Networking-Portal Linked...

So erhalten Sie Datums-/Uhrzeitdaten in MySQL, gefolgt von .0

Der Datentyp von MySQL ist datetime. Die in der D...

Grafisches Tutorial zur kostenlosen Installationsversion von MySQL 5.7.21 winx64

Konfigurationsmethode für die kostenlose Installa...