String.prototype.match()

match() gibt zurück, wo ein regulärer Ausdruck in einem String enthalten ist. 

Syntax

str.match(regexp)

Parameter

regexp
Ein regulärer Ausdruck. Falls regexp kein Objekt vom Typ RegExp ist wird es mit Hilfe von new RegExp(obj) konvertiert. Falls dieser Parameter nicht übergeben wird, wird ein Array mit einem leeren String zurückgegben: [""].

Rückgabewert

Es wird ein Array zurückgegeben, das als erstes Element den gesamten übereinstimmenden String enthält, gefolgt von allen weiteren Treffern, die in Klammern angegeben wurden. Falls keine Übereinstimmungen gefunden wurden, wird null zurückgegeben.

Beschreibung

Falls der reguläre Ausdruck nicht den Modifikator g enthält, verhält sich match() wie RegExp.exec(). Im zurückgegebenen Array sind zusätzlich die propertys input und index  enthalten. input ist gleich dem zu durchsuchenden String, index enthält den Index der Übereinstimmung.

Falls der g Modifikator im regulären Ausdruck enthalten ist, wird ein Array mit allen übereinstimmenden Substrings zurückgegeben.

Beispiele

Verwendung von match()

Im folgenden Beispiel wird match() verwendet um 'Kapitel' und anschließend eine oder mehrere Zahlen, gefolgt von einem Punkt und einer Zahl, 0 oder mehrmals zu finden. Der reguläre Ausdruck enthält den i Modifikator und unterscheidet somit nicht zwischen Groß- und Kleinschreibung.

var str = 'Fuer mehr Informationen siehe Kapitel 3.4.5.1';
var re = /siehe (kapitel \d+(\.\d)*)/i;
var found = str.match(re);

console.log(found);

// gibt folgendes auf der Konsole aus: 
//   [ 'siehe Kapitel 3.4.5.1',
//     'Kapitel 3.4.5.1',
//     '.1',
//     index: 22,
//     input: 'Fuer mehr Informationen siehe Kapitel 3.4.5.1' ]

Verwendung von match() mit den i und g Modifikatoren

Die Buchstaben von A - E und von a - e werden auf der Konsole ausgegeben.

var str = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz';
var regexp = /[A-E]/gi;
var matches_array = str.match(regexp);

console.log(matches_array);
// ['A', 'B', 'C', 'D', 'E', 'a', 'b', 'c', 'd', 'e']

match() ohne Parameter

var str = "Nichts kommt von nichts.";

str.match();
// [""]

Verwendung mit einem nicht regulären Ausdruck

Falls ein String oder eine Zahl anstatt eines regulären Ausdrucks übergeben wird, wird der Parameter in einen regulären Ausdruck konvertiert. Ist es eine positive Zahl mit Vorzeichen, wird das positive Vorzeichen ignoriert.

var str1 = "NaN bedeutet not a number. Infinity enthält -Infinity and +Infinity in JavaScript.",
    str2 = "Zahlen: 1, 6, 3",
    str3 = "null ist ein Datentyp.";

str1.match("number");   // ["number"]
str1.match(NaN);        // ["NaN"]
str1.match(Infinity);   // ["Infinity"]
str1.match(+Infinity);  // ["Infinity"]
str1.match(-Infinity);  // ["-Infinity"]
str2.match(6);          // ["6"]
str2.match(+3);         // ["3"]
str3.match(null);       // ["null"]

Spezifikationen

Spezifikation Status Extras
ECMAScript 3rd Edition (ECMA-262) Standard Anfangsdefinition. Implementiert in JavaScript 1.2.
ECMAScript 5.1 (ECMA-262)
Die Definition von 'String.prototype.match' in dieser Spezifikation.
Standard
ECMAScript 2015 (6th Edition, ECMA-262)
Die Definition von 'String.prototype.match' in dieser Spezifikation.
Standard
ECMAScript (ECMA-262)
Die Definition von 'String.prototype.match' in dieser Spezifikation.
Lebender Standard

Browser-Kompatibilität

Update compatibility data on GitHub
DesktopMobileServer
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid WebviewChrome für AndroidFirefox für AndroidOpera für AndroidSafari auf iOSSamsung InternetNode.js
matchChrome Vollständige Unterstützung 1Edge Vollständige Unterstützung 12Firefox Vollständige Unterstützung 1IE Vollständige Unterstützung 4Opera Vollständige Unterstützung 4Safari Vollständige Unterstützung 1WebView Android Vollständige Unterstützung 1Chrome Android Vollständige Unterstützung 18Firefox Android Vollständige Unterstützung 4Opera Android Vollständige Unterstützung 10.1Safari iOS Vollständige Unterstützung 1Samsung Internet Android Vollständige Unterstützung 1.0nodejs Vollständige Unterstützung 0.1.100

Legende

Vollständige Unterstützung  
Vollständige Unterstützung

Siehe auch