Javascript String match ()

Die JavaScript String match () -Methode gibt das Ergebnis des Abgleichs eines Strings mit einem regulären Ausdruck zurück.

Die Syntax der match()Methode lautet:

 str.match(regexp)

Hier ist str eine Zeichenfolge.

match () Parameter

Die match()Methode umfasst:

  • regexp - Ein Objekt mit regulären Ausdrücken (Argument wird implizit konvertiert, RegExpwenn es kein RegExpObjekt ist)

Hinweis: Wenn Sie keine Parameter match()angeben, wird zurückgegeben ("").

Rückgabewert von match ()

  • Gibt ein ArrayMatch zurück, das die Übereinstimmungen enthält, ein Element für jede Übereinstimmung.
  • Gibt zurück, nullwenn keine Übereinstimmung gefunden wird.

Beispiel 1: Verwenden von match ()

 const string = "I am learning JavaScript not Java."; const re = /Java/; let result = string.match(re); console.log("Result of matching /Java/ :"); console.log(result); const re1 = /Java/g; let result1 = string.match(re1); console.log("Result of matching /Java/ with g flag:") console.log(result1);

Ausgabe

 Ergebnis des Abgleichs / Java /: ('Java', Index: 14, Eingabe: 'Ich lerne JavaScript nicht Java.', Gruppen: undefiniert) Ergebnis des Abgleichs / Java / mit g-Flag: ('Java', 'Java' )

Hier können wir sehen, dass wir ohne Verwendung des gFlags nur die erste Übereinstimmung erhalten, jedoch mit detaillierten Informationen wie Index, Eingabe und Gruppen.

Hinweis : Wenn der reguläre Ausdruck das gFlag nicht enthält , str.match()wird nur die erste Übereinstimmung ähnlich wie zurückgegeben RegExp.exec(). Der zurückgegebene Artikel hat außerdem die folgenden zusätzlichen Eigenschaften:

  • groups - Ein Objekt benannter Erfassungsgruppen mit Schlüsseln als Namen und Werten als erfasste Übereinstimmungen.
  • index - Der Suchindex, in dem das Ergebnis gefunden wurde.
  • input - Eine Kopie der Suchzeichenfolge.

Beispiel 2: Übereinstimmende Abschnitte in einer Zeichenfolge

 const string = "My name is Albert. YOUR NAME is Soyuj."; // expression matches case-insensitive "name is"+ any alphabets till period (.) const re = /namesiss(a-zA-Z)+./gi; let result = string.match(re); console.log(result); // ( 'name is Albert.', 'NAME is Soyuj.' ) // using named capturing groups const re1 = /namesiss(?(a-zA-Z)+)./i; let found = string.match(re1); console.log(found.groups); // (name: "Albert")

Ausgabe

 ('Name ist Albert.', 'NAME ist Soyuj.') (Name: "Albert")

Hier haben wir einen regulären Ausdruck verwendet, um einem bestimmten Teil der Zeichenfolge zu entsprechen. Wir können auch bestimmte Gruppen in der Übereinstimmung mit der oben gezeigten Syntax erfassen.

Empfohlene Lektüre: JavaScript String matchAll ()

Interessante Beiträge...