So durchsuchen Sie eine Zeichenfolge mithilfe der Übereinstimmungsmethode in JavaScript?

So durchsuchen Sie eine Zeichenfolge mithilfe der Übereinstimmungsmethode in JavaScript?
JavaScript wird zu einer der weit verbreiteten Programmiersprachen im gesamten Bereich der AAA-Qualitätswebanwendungen, und dies liegt an der Verfügbarkeit in fast jedem modernen Browser. Und die Tatsache, dass Tausende von Frameworks in JavaScript geschrieben sind, mit denen Entwickler aus der ganzen Welt erstklassige Web-, Android- und sogar iOS-unterstützte Anwendungen entwickeln können.

String -Operationen sind die Grundlage für viele wichtige und berühmte Anwendungen und Webrahmenbedingungen. Vom Vergleichen von Passwörtern mit der Überprüfung des richtigen Benutzernamens, vom Akzeptieren eines Captcha -Codes bis zur Bestätigung einer korrekten E -Mail. Alles wird mit String -Operationen erledigt. In JavaScript stehen viele String -Vergleichsvorgänge zur Verfügung, von denen jedoch alle faszinierendste sind .passen() Methode.

Was wir tun werden, ist, alles über die zu decken .passen() Methode und schauen Sie sich eine neue Methode an, die auch dieser ähnlich ist.

Definition und Verwendung

Der .passen() Methode ist eine Funktion für alle JS -Versionen. Das .passen() Vergleicht Strings mit einem regulären Ausdruck (Regex). Oder mit anderen Worten, wir können sagen, dass es verwendet wird, um Stringobjekte mit jeder Regex zu durchsuchen.

Wenn das Match gegen die Regex gefunden wird, gibt diese Methode eine zurück Array Von allen Spielen kehrt es zurück NULL.

Syntax

Saite.Match (Regexp)

Parameter: Der Parameter dieser Methode ist ein „Regexp“, was einen regulären Ausdruck bedeutet, der mit der angegebenen Zeichenfolge verglichen werden muss.

Rückgabewert: Es wird die Zeichenfolge mit dem Regex vergleichen und ein Array aller Übereinstimmungen zurückgeben, die es finden kann. Andernfalls kehrt es Null zurück.

Beispiel:

var string = "Hallo Welt!";
Konsole.Protokoll (String.Match (/ello/g));

Ausgang:

Es gibt eine Reihe aller Übereinstimmungen von “zurück“Ello”In der String -Variable. Auch "G" im Code ist a Flagge Dadurch soll die Methode nach allen möglichen Übereinstimmungen in der Zeichenfolge suchen und bei der ersten Übereinstimmung nicht anhalten.

Was ist ein regulärer Ausdruck:

Wenn wir reguläre Ausdrücke in den offiziellen Worten von MDN definieren wollen, wäre es:

Die Muster, die verwendet werden, um Zeichenkombinationen in String zu entsprechenS".

Muster können nicht nur alphanumerische Zeichen, sondern auch Sonderzeichen, verschiedene Bereiche von Gruppen und sogar Sonderzeichen umfassen.

Um zu bestimmen, was ein Regex ist, können wir sagen, dass es auf der grundlegenden Ebene darum geht, in einer bestimmten Zeichenfolge ein Muster zu finden. Die Verwendung dieses Regex kann gefunden werden, wenn wir ein bestimmtes Zeichen aus einer Zeichenfolge finden möchten, oder wenn wir überprüfen möchten, dass das Format der E-Mail beim Ausfüllen eines Anmeldeformulars eine tatsächliche E-Mail-Adresse mit „@“ ist Und ".com ”am Ende.

Verschiedene Matching -Modi (Flags)

Das erste ist (wie im obigen Beispiel gezeigt) mit einem globalen Flag „G“, das ein Array von String -Objekten zurückgibt.

Code:

var string = "Hallo Welt!! Hallo!";
Konsole.Protokoll (String.Match (/ello/g));

Ausgang:

Das nächste Beispiel ist ohne die Verwendung einer globalen Flagge:

Code

var string = "Hallo Welt!! Hallo!";
Konsole.Protokoll (String.Match (/ello/));

Ausgang

Obwohl es zwei passende Saiten gegen den regulären Ausdruck „/ello/“ gibt, die .passen() Die Methode stoppt nur beim ersten Spiel.

Das nächste verwendet die Flagge der Fall-Insitivität “ich”. Dieses Flag ignoriert die Fallempfindlichkeit der Zeichenfolge und versucht, die Übereinstimmung zu finden, indem die gesamte Zeichenfolge und die Regex im unteren Fall berücksichtigt werden.

var string = "Hallo Welt!! HALLO! HALLO";
Konsole.Protokoll (String.Match (/ello/gi));

Ausgang

Im Array, das von der zurückgegeben wird .passen() Methode. Wir können sehen, dass es sowohl Kleinbuchstaben als auch Oberkoffer enthält, die der Regex entsprechen.

Der .MatchAll () Methode

Wir haben gründlich etwas über das gelernt .passen(), Und wir wissen, dass sich die Welt in jedem Bereich ständig weiterentwickelt. Es lohnt sich, darauf hinzuweisen, dass die .MatchAll () wurde auch in der neueren Version von JavaScript hinzugefügt.

Der .MatchAll () Verwendet die Flagge "G", die Sie inzwischen kennen (die globale Flagge), und gibt entweder einen Iterator oder ein leeres Array zurück:

Beispiel

Sei Regex = /s (h) (ow (\ d?))/G;
Sei String = "show1show2show3";
lass Array = [… String.MatchAll (regex)];
für (lass i = 0; i Konsole.log (Array [i]);

Notiz: Wir haben eine für Schleife verwendet, um alle in der Array -Variablen vorhandenen Elemente zu drucken.

Ausgang:

Nun, der Hauptgrund für die Verwendung der .MatchAll () Methode kann leicht gesehen werden. Wir können dies aus der Ausgabe sehen, die es für den verbesserten Zugriff auf Capture -Gruppen verwendet hat

Abschluss

Nach diesem Tutorial sind Sie jetzt wahrscheinlich mit der Arbeit des .passen() Methode zusammen mit einem grundlegenden Verständnis von regulären Ausdruck und Sie haben auch etwas über die neu hinzugefügte Methode erfahren, die die ist .MatchAll () Methode.

Dies bedeutet, dass Sie jetzt ein grundlegendes Verständnis der übereinstimmenden Zeichenfolgen mit Regex mithilfe von In-Build-JavaScript-Funktionen haben. Diese waren sicherlich grundlegende und einfache Beispiele, zeigten aber trotzdem den Zweck und die Arbeit der Methoden.