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 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 integer that specifies the character position 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. In this way, these two methods can be called repeatedly to traverse all matching text in a string.

This property is readable and writable. It can be set as soon as the next search starts in the target string. When the methods exec() or test() can no longer find matching text, they will automatically set lastIndex property is 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