JavaScript RegExp lastIndex property

Definition and usage

lastIndex This property specifies the index to start the next match.

Note:This property is only valid when the "g" modifier is set.

This property returns an integer that specifies exec() or test() the character position immediately following the last match found by the method.

Note:if exec() and test() if no match is found, then the lastIndex reset to 0.

example

let text = "The rain in Spain stays mainly in the plain";
let pattern = /ain/g;
let result = "";
while (pattern.test(text)==true) {
  result += "Found at pos " + pattern.lastIndex + "<br>";
}

try it yourself

syntax

regexp.lastIndex

return value

type description
number an integer that specifies the position of the character immediately following the last match found by the exec() or test() methods.

technical details

the lastIndex property of the RegExp object lastIndex This property is a readable and writable value. For regular expressions that have set the g flag, this property stores an integer that declares the position of the first character after the last matched text.

the result of the last match found by the methods RegExp.exec() and RegExp.test() is lastIndex the position pointed to by the property as the starting point for the next search. This allows you to traverse all matching text in a string by repeatedly calling these methods.

This property is readable and writable. It can be set as soon as the next search of the target string begins. When the methods exec() or test() can no longer find any matching text, they automatically take lastIndex property reset to 0.

browser support

lastIndex It is an ECMAScript1 (ES1) feature.

All browsers fully support ES1 (JavaScript 1997):

Chrome IE Edge Firefox Safari Opera
Support Support Support Support Support Support