Heim  >  Artikel  >  Web-Frontend  >  So verwenden Sie die Exec-Methode von Javascript

So verwenden Sie die Exec-Methode von Javascript

藏色散人
藏色散人Original
2021-04-01 15:32:042985Durchsuche

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.

So verwenden Sie die Exec-Methode von Javascript

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn