MDN’s new design is in Beta! A sneak peek: https://blog.mozilla.org/opendesign/mdns-new-design-beta/

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 mit allen gefundenen Übereinstimmungen zurückgegeben. Falls keine Übereinstimmungen gefunden wurden, wird null zurückgegeben.

Beschreibung

Falls der regulärer 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. Die index property enthält den Index der Übereinstimmung.

Falls der g Modifikator im regulärer 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: 'For more information, see Chapter 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.

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);          // ["65"]
str2.match(+3);         // ["65"]
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 Latest Draft (ECMA-262)
Die Definition von 'String.prototype.match' in dieser Spezifikation.
Entwurf  

Browser-Kompatibilität

Feature Chrome Firefox (Gecko) Internet Explorer Opera Safari
Grundlegende Unterstützung (Ja) (Ja) (Ja) (Ja) (Ja)
Feature Android Chrome für Android Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile
Grundlegende Unterstützung (Ja) (Ja) (Ja) (Ja) (Ja) (Ja)

Siehe auch

Schlagwörter des Dokuments und Mitwirkende

 Mitwirkende an dieser Seite: tobihrbr
 Zuletzt aktualisiert von: tobihrbr,