match()
gibt zurück, wo ein regulärer Ausdruck in einem String enthalten ist.
Syntax
str.match(regexp)
Parameter
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
BCD tables only load in the browser