lastIndex is a read/write integer property of regular expression instances that specifies the index at which to start the next match.
The source for this interactive example is stored in a GitHub repository. If you'd like to contribute to the interactive examples project, please clone https://github.com/mdn/interactive-examples and send us a pull request.
|Property attributes of
This property is set only if the regular expression instance used the
g flag to indicate a global search, or the
y flag to indicate a sticky search. The following rules apply:
lastIndexis greater than the length of the string,
lastIndexis set to 0.
lastIndexis equal to or less than the length of the string and if the regular expression matches the empty string, then the regular expression matches input starting from
lastIndexis equal to the length of the string and if the regular expression does not match the empty string, then the regular expression mismatches input, and
lastIndexis reset to 0.
lastIndexis set to the next position following the most recent match.
Consider the following sequence of statements:
var re = /(hi)?/g;
Matches the empty string.
["hi", "hi"] with
lastIndex equal to 2.
["", undefined], an empty array whose zeroth element is the match string. In this case, the empty string because
lastIndex was 2 (and still is 2) and
hi has length 2.
BCD tables only load in the browser