lastIndex-Eigenschaft
Aktualisiert: November 2007
Gibt die Zeichenposition zurück, die auf die nächste Übereinstimmung in einer durchsuchten Zeichenfolge folgt.
{RegExp | reArray}.lastIndex
Argumente
RegExp
Erforderlich. Das globale RegExp-Objekt.reArray
Erforderlich. Ein Array, das von der exec-Methode eines Regular Expression-Objekts zurückgegeben wird.
Hinweise
Die lastIndex-Eigenschaft ist nullbasiert, d. h., der Index des ersten Zeichens ist gleich Null. Der Startwert der Eigenschaft ist -1. Der Wert ändert sich immer dann, wenn eine Übereinstimmung gefunden wurde.
Die lastIndex-Eigenschaft des RegExp-Objekts wird von den Methoden exec und test des RegExp-Objekts und den Methoden match, replace und split des String-Objekts geändert.
Für die Werte von lastIndex gelten die folgenden Regeln:
Gibt es keine Entsprechung, wird lastIndex auf -1 gesetzt.
Ist lastIndex größer als die Länge der Zeichenfolge, schlagen test und exec fehl, und lastIndex wird auf -1 gesetzt.
Ist lastIndex gleich der Länge der Zeichenfolge, so gibt es eine Entsprechung für den regulären Ausdruck, wenn das Muster der leeren Zeichenfolge entspricht. Andernfalls schlägt die Entsprechung fehl, und lastIndex wird auf -1 zurückgesetzt.
Ansonsten wird für lastIndex die nächste Position festgelegt, die auf die letzte Entsprechung folgt.
Der Anfangswert der RegExp.lastIndex-Eigenschaft ist ‑1. Der Wert ist schreibgeschützt und ändert sich immer dann, wenn eine Übereinstimmung gefunden wurde.
Hinweis: |
---|
Beim Ausführen im schnellen Modus, dem Standardmodus für Jscript, sind die Eigenschaften des RegExp-Objekts nicht verfügbar. Um ein Programm, das diese Eigenschaften verwendet, von der Befehlszeile aus zu kompilieren, müssen Sie den schnellen Modus mit /fast- deaktivieren. Das Deaktivieren des schnellen Modus in ASP.NET stellt aufgrund von Threadingproblemen einen Unsicherheitsfaktor dar. |
Beispiel
Das folgende Beispiel veranschaulicht die Verwendung der lastIndex-Eigenschaft. Diese Funktion durchläuft eine Suchzeichenfolge und gibt die Werte index und lastIndex für jedes Wort in der Zeichenfolge aus.
var src : String = "The rain in Spain falls mainly in the plain.";
var re : RegExp = /\w+/g;
var arr : Array;
while ((arr = re.exec(src)) != null)
print(arr.index + "-" + arr.lastIndex + "\t" + arr);
Ausgabe dieses Programms:
0-3 The
4-8 rain
9-11 in
12-17 Spain
18-23 falls
24-30 mainly
31-33 in
34-37 the
38-43 plain