lastIndex a read/write property of RegExp objects. For regular expressions with the "g" attribute set, it contains an integer that specifies the character position immediately following the last match found by the RegExp.exec() and RegExp.test() methods. These methods use this property as the starting point for the next search they conduct.
This property allows you to call those methods repeatedly, to loop through all matches in a string and works only if the "g" modifier is set.
This property is read/write, so you can set it at any time to specify where in the target string, the next search should begin. exec() and test() automatically reset the lastIndex to 0 when they fail to find a match (or another match).
Its syntax is as follows −
RegExpObject.lastIndex
Returns an integer that specifies the character position immediately following the last match.
Try the following example program.
<html> <head> <title>JavaScript RegExp lastIndex Property</title> </head> <body> <script type="text/javascript"> var str = "Javascript is an interesting scripting language"; var re = new RegExp( "script", "g" ); re.test(str); document.write("Test 1 - Current Index: " + re.lastIndex); re.test(str); document.write("<br />Test 2 - Current Index: " + re.lastIndex); </script> </body> </html>
Test 1 - Current Index: 10 Test 2 - Current Index: 35