JavaScript RegExp exec()-Methode
- Seite zuvor compile()
- Nächste Seite test()
- Zurück zur übergeordneten Ebene JavaScript RegExp Referenzhandbuch
Kursvorschlag:
exec()
Definition und Verwendung
Methode testet das Muster im String.
Dies ist ein allgemeiner Übereinstimmungsmuster. Methode, um alle passenden Texte in der Zeichenkette zu durchsuchen. Wenn exec() keine passenden Texte mehr findet, gibt es zurück
Wenn eine Übereinstimmung gefunden wird, wird die Ergebnisliste zurückgegeben, sonst wird
.
Beispiel
Beispiel 1
Suchen Sie das Zeichen "e" im String: let text = "The best things in life are free";
let result2 = /W3School/.exec(text);
let result = /e/.exec(text);
Beispiel 2
Suchen Sie "Hello" und "W3School" im String global: let text = "Hello world!"; // Finden Sie "Hello" let result1 = /Hello/.exec(text); // Finden Sie "W3School"
Probieren Sie es selbst aus
Beachten Sie, dassSyntaxder Eigenschaft lastIndex bestimmte Zeichenposition beginnen, die Zeichenkette zu durchsuchen. Dies bedeutet, dass durch wiederholtes Aufrufen)
.exec(
.exec( | Beschreibung |
---|---|
der Eigenschaft lastIndex bestimmte Zeichenposition beginnen, die Zeichenkette zu durchsuchen. Dies bedeutet, dass durch wiederholtes Aufrufen | Parameter |
Technische Details
Typ | Beschreibung |
---|---|
Erforderlich. Der zu suchende String. | Liste |
Wenn eine Übereinstimmung gefunden wird, enthält die Liste die Übereinstimmungstexte, sonst wird null zurückgegeben.
Technische Details
Rückgabewert Methode, um alle passenden Texte in der Zeichenkette zu durchsuchen. Wenn exec() keine passenden Texte mehr findet, gibt es zurück
Liste, die die Übereinstimmungsergebnisse speichert. Wenn keine Übereinstimmung gefunden wird, ist der Wert
ausgelöst. Im Folgenden wird die Struktur der zurückgegebenen Liste erläutert.
Typ | Beschreibung |
---|---|
TypeError | Wird bei Aufruf des Objekts, das diese Methode aufruft, nicht als RegExp, wird diese Ausnahme ausgelöst. |
Erklärung
in allen RegExp-Modusübereinstimmungsmethoden, String-Modusübereinstimmungsmethodenexec()
hat die stärkste Funktion. Es ist ein allgemeiner Ansatz, der einfacher zu verwenden ist als RegExp.test()、String.replace() fügen alle Details in das von ihnen zurückgegebene Array hinzu. Dies ist und sehr komplex.
exec()
Sucht den String der Eigenschaft lastIndex bestimmte Zeichenposition beginnen, die Zeichenkette zu durchsuchen. Dies bedeutet, dass durch wiederholtes Aufrufenhervorgehoben wird, wird der Text Beachten Sie, dass Übereinstimmenden Text. Wenn exec()
Gefundenen Text, es wird eine Ergebnisliste zurückgegeben. Andernfalls wird Methode, um alle passenden Texte in der Zeichenkette zu durchsuchen. Wenn exec() keine passenden Texte mehr findet, gibt es zurück
Der 0. Element der zurückgegebenen Liste ist der Text, der mit dem Ausdruck übereinstimmt. Das 1. Element ist der mit Beachten Sie, dass 的第一个子表达式相匹配的文本(如果存在)。第 2 个元素是与 Beachten Sie, dass übereinstimmende Text (wenn vorhanden). Derexec()
der erste Unterausdruck mit dem passenden Text (wenn vorhanden). Der zweite Element ist der mit der Eigenschaft lastIndex bestimmte Zeichenposition beginnen, die Zeichenkette zu durchsuchen. Dies bedeutet, dass durch wiederholtes Aufrufender zweite Unterausdruck mit dem passenden Text übereinstimmt, usw. Normalerweise gibt die Eigenschaft length die Anzahl der Elemente im Array an. Neben den Arrayelementen und der Eigenschaft length enthält exec()
Methode zurückgegeben wird, enthält das zurückgegebene Array zwei Eigenschaften. Die Eigenschaft index gibt die Position des ersten Zeichens des passenden Textes an. Die Eigenschaft input bezieht sich auf und Methode zurückgegeben wird, entspricht das zurückgegebene Array dem Array, das von der aufgerufenen Methode zurückgegeben wird.
zurückgegebenen Methoden identisch sind. exec()
in einem nicht globalen Beachten Sie, dass Methode durchgeführt wird, führt es eine Suche durch und gibt die obigen Ergebnisse zurück. Wennexec()
es sich um einen globalen regulären Ausdruck handelt, Beachten Sie, dass verhalten ist etwas komplexer. Es führt eine Suche durch, und gibt die obigen Ergebnisse zurück. Wenn der Eigenschaft lastIndex bestimmte Zeichenposition beginnen, die Zeichenkette zu durchsuchen. Dies bedeutet, dass durch wiederholtes Aufrufen string Beachten Sie, dass den exec()
den Methode, um alle passenden Texte in der Zeichenkette zu durchsuchen. Wenn exec() keine passenden Texte mehr findet, gibt es zurück
null
und die Eigenschaft lastIndex auf 0 zurückgesetzt wird. Wenn nach einer einmaligen Musterpassung in einem anderen String begonnen werden soll, muss die Eigenschaft lastIndex manuell auf 0 zurückgesetzt werden. Beachten Sie, dass regexpexec()
ob es sich um ein globales Muster handelt, exec()
fügen alle Details in das von ihnen zurückgegebene Array hinzu. Dies ist und String.match() exec()
Das ist das einzige Verfahren, um vollständige Musterpassungsinformationen des globalen Musters zu erhalten. Der Nachfolger gibt weniger Informationen zurück. Tatsächlich wird
Browserunterstützung
exec()
ist eine ECMAScript1 (ES1)-Eigenschaft.
Alle Browser unterstützen ES1 (JavaScript 1997) vollständig:
Chrome | IE | Edge | Firefox | Safari | Opera |
---|---|---|---|---|---|
Unterstützt | Unterstützt | Unterstützt | Unterstützt | Unterstützt | Unterstützt |
Reguläre Ausdrucks-Suchmethoden
In JavaScript können reguläre Ausdrucks-Textsuchen mit verschiedenen Methoden abgeschlossen werden.
VerwendungMuster (pattern)Als reguläres Ausdruck ist dies die häufigste Methode:
Beispiel | Beschreibung |
---|---|
text.match(Muster) | Zeichenkettenmethode match() |
text.search(Muster) | Zeichenkettenmethode search() |
Muster.exec(text) | RexExp-Methode exec() |
Muster.test(text) | RexExp-Methode test() |
- Seite zuvor compile()
- Nächste Seite test()
- Zurück zur übergeordneten Ebene JavaScript RegExp Referenzhandbuch