JavaScript RegExp exec()-Methode

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ückWenn 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"

let result2 = /W3School/.exec(text);

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ückListe, 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ückDer 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ücknull

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()