Heim >Web-Frontend >js-Tutorial >So verwenden Sie die Exec-Methode von Javascript
Die exec-Methode von JavaScript wird verwendet, um die Übereinstimmung eines regulären Ausdrucks in einer Zeichenfolge abzurufen. Die Verwendungssyntax lautet „RegExpObject.exec(string)“, und der Parameter string stellt die abzurufende Zeichenfolge dar.
Die Betriebsumgebung dieses Tutorials: Windows 7-System, JavaScript-Version 1.8.5, Dell G3-Computer.
JavaScript exec()-Methode
Die exec()-Methode wird verwendet, um Übereinstimmungen eines regulären Ausdrucks in einer Zeichenfolge abzurufen.
Syntax
RegExpObject.exec(string)
Parameter
Zeichenfolge Erforderlich. Die abzurufende Zeichenfolge.
Rückgabewert
Gibt ein Array zurück, das die passenden Ergebnisse speichert. Wenn keine Übereinstimmung gefunden wird, ist der Rückgabewert null.
Erklärung
Die exec()-Methode ist eine allgemeine Methode und komplexer in der Anwendung als die test()-Methode und die Methoden von String-Objekten, die reguläre Ausdrücke unterstützen.
Wenn exec() passenden Text findet, wird ein Array von Ergebnissen zurückgegeben. Andernfalls wird null zurückgegeben. Das 0. Element dieses Arrays ist der Text, der mit dem regulären Ausdruck übereinstimmt, das 1. Element ist der Text, der mit dem 1. Unterausdruck von RegExpObject (falls vorhanden) übereinstimmt, und das 2. Element ist der Text, der mit dem 1. Unterausdruck von RegExpObject übereinstimmt. Der Text stimmte überein durch 2 Unterausdrücke (falls vorhanden) und so weiter. Zusätzlich zu den Array-Elementen und Längeneigenschaften gibt die Methode exec() zwei Eigenschaften zurück. Das Indexattribut deklariert die Position des ersten Zeichens des übereinstimmenden Textes. Das Eingabeattribut speichert die abgerufene Zeichenfolge string. Wir können sehen, dass beim Aufruf der exec()-Methode des nicht-globalen RegExp-Objekts das zurückgegebene Array dasselbe ist wie das Array, das durch den Aufruf der String.match()-Methode zurückgegeben wird.
Wenn RegExpObject jedoch ein globaler regulärer Ausdruck ist, ist das Verhalten von exec() etwas komplizierter. Es beginnt mit dem Abrufen der Zeichenfolge string bei dem Zeichen, das durch die lastIndex-Eigenschaft des RegExpObject angegeben wird. Wenn exec() Text findet, der mit einem Ausdruck übereinstimmt, setzt es die lastIndex-Eigenschaft des RegExpObject auf die Position neben dem letzten Zeichen des übereinstimmenden Texts nach der Übereinstimmung. Dies bedeutet, dass Sie den gesamten übereinstimmenden Text in einer Zeichenfolge durchlaufen können, indem Sie die Methode exec() wiederholt aufrufen. Wenn exec() keinen passenden Text mehr findet, gibt es null zurück und setzt die lastIndex-Eigenschaft auf 0 zurück.
【Empfohlenes Lernen: js-Grundlagen-Tutorial】
Tipps und Hinweise
Wichtig: Wenn Sie mit dem Abrufen einer neuen Zeichenfolge beginnen möchten, nachdem Sie eine Musterübereinstimmung in einer Zeichenfolge abgeschlossen haben, müssen Sie das lastIndex-Attribut manuell auf 0 setzen.
Tipp: Bitte beachten Sie, dass exec() unabhängig davon, ob das RegExpObject global ist oder nicht, die vollständigen Details zum zurückgegebenen Array hinzufügt. Hier unterscheidet sich exec() von String.match(), das im globalen Modus deutlich weniger Informationen zurückgibt. Wir können also sagen, dass der wiederholte Aufruf der exec()-Methode in einer Schleife die einzige Möglichkeit ist, vollständige Musterübereinstimmungsinformationen für das globale Muster zu erhalten.
Beispiel
In diesem Beispiel rufen wir W3School global in der Zeichenfolge ab:
<script type="text/javascript"> var str = "Visit W3School"; var patt = new RegExp("W3School","g"); var result; while ((result = patt.exec(str)) != null) { document.write(result); document.write("<br />"); document.write(patt.lastIndex); } </script>
Ausgabe:
W3School 14
Das obige ist der detaillierte Inhalt vonSo verwenden Sie die Exec-Methode von Javascript. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!