EXEC ist eine Methode regelmäßiger Ausdrücke, keine Stringsmethode, und seine Parameter sind Zeichenfolgen, wie unten gezeigt:
var re = new regexp (// d/); re.exec ("abc4def"); // oder verwenden Sie Perl style: //d/.exec ("ABC4DEF"); // Übereinstimmung ist die Methode, die von der String -Klasse bereitgestellt wird. Seine Parameter sind reguläre Ausdrucksobjekte. Die folgende Verwendung ist korrekt: "ABC4DEF" .Match (/d);Exec and Match -Rückgabebereich Arrays
Wenn der reguläre Ausdruck, der die EXEC -Methode ausführt, nicht gruppiert ist (ohne Klammern), gibt es bei einer Übereinstimmung ein Array mit nur einem Element zurück, und das einzige Element dieses Arrays ist die erste Zeichenfolge, die der reguläre Ausdruck entspricht. Wenn es keine Übereinstimmung gibt, wird NULL zurückgegeben.
Die folgenden zwei Alarmfunktionen pop -up -Informationen sind gleich:
var str = "cat, Hat"; var p =/at/; // Es gibt keine G -Attribut -Warnung (p.exec (str)) alarm (str.match (p))
Alle sind "at". In diesem Fall entspricht Exec entspricht der Übereinstimmung.
Wenn der reguläre Ausdruck jedoch global übereinstimmt (G -Attribut), hat der obige Code unterschiedliche Ergebnisse:
var str = "cat, hut"; var p =/at/g; // Beachten Sie die G -Attribut -Warnung (P.exec (str)) Warnmeldung (STR.Match (p)).
Sie sind
"bei"
"at, at".
Da Exec immer nur das erste Spiel zurückgibt und das Match alle Übereinstimmungen zurückgibt, wenn das G -Attribut regelmäßig angegeben wird.
Wenn ein Exec eine Übereinstimmung findet und eine Gruppe enthält, enthält das zurückgegebene Array mehrere Elemente. Das erste Element ist die gefundene Übereinstimmung, und die nachfolgenden Elemente sind die ersten, zweiten ... Gruppierungen in der Übereinstimmung (Reverse Referenz)
Der folgende Code wird "Cat2, at" angezeigt:
var str = "Cat2, HAT8"; var p =/c (at)/d/; alert (p.exec (str)))
Das erste Element ist die passende Zeichenfolge "Cat2", und das nachfolgende Element ist das Matching "at" in Klammern.
Die Übereinstimmungsfunktion beeinträchtigt die folgenden Bedingungen und realisiert dieselbe Funktion wie EXEC:
1. Regelmäßiger Ausdruck enthält Gruppierungen (Klammern)
2. Rückgeben Sie das eindeutige Match
Schauen wir uns den folgenden Code an:
var str = "Cat2, HAT8"; var p =/c (at)/d/; alert (p.exec (str)) alarm (str.match (p))
Die Nachricht "Cat2, at" wird auftauchen. Glaubst du, es ist sehr seltsam?
Zusammenfassen:
Match ist ein Array, das alle passenden Zeichenfolgen zurückgibt, aber der reguläre Ausdruck muss das globale G -Attribut angeben, um alle Übereinstimmungen zurückzugeben. Wenn das G -Attribut nicht angegeben ist, wird ein Array mit nur einem Element zurückgegeben.
Exec gibt immer Informationen im Zusammenhang mit der ersten Übereinstimmung zurück, die das Array einschließlich der ersten Match -Zeichenfolge zurückgibt, Backreferences an alle Pakete.
In einigen Fällen ist das von EXEC zurückgegebene Ergebnis das gleiche wie das von Match zurückgegebene Ergebnis:
var str = "cat, Hat"; var p =/at/; // Es gibt keine G -Attribut -Warnung (p.exec (str)) alarm (str.match (p))
"at" taucht auf
In einigen Fällen ist das von der Übereinstimmung zurückgegebene Ergebnis das gleiche wie das von Exec zurückgegebene Ergebnis:
var str = "Cat2, HAT8"; var p =/c (at)/d/; alert (p.exec (str)) alarm (str.match (p))
"Cat2, at" taucht auf
Die obige Artikel-Depth-Analyse des EXEC- und Übereinstimmung mit Methoden in JavaScript ist der gesamte Inhalt, den ich mit Ihnen teile. Ich hoffe, es kann Ihnen eine Referenz geben und ich hoffe, Sie können Wulin.com mehr unterstützen.