lastIndex Property (RegExp) (JavaScript)

Returns the character position where the next match begins in a searched string.




The object associated with this property is always the global RegExp object.

The lastIndex property is zero-based, that is, the index of the first character is zero. Its initial value is -1. Its value is modified whenever a successful match is made.

The lastIndex property is modified by the exec and test methods of the RegExp object, and the match, replace, and split methods of the String object.

The following rules apply to values of lastIndex:

  • If there is no match, lastIndex is set to -1.

  • If lastIndex is greater than the length of the string, test and exec fail and lastIndex is set to -1.

  • If lastIndex is equal to the length of the string, the regular expression matches if the pattern matches the empty string. Otherwise, the match fails and lastIndex is reset to -1.

  • Otherwise, lastIndex is set to the next position following the most recent match.


The following example illustrates the use of the lastIndex property. This function iterates a search string and prints out the index and lastIndex values for each word in the string.

function RegExpTest()  
   var ver = Number(ScriptEngineMajorVersion() + "." + ScriptEngineMinorVersion())  
   if (ver < 5.5)  
      document.write("You need a newer version of JavaScript for this to work");  

   var src = "The quick brown fox jumps over the lazy dog.";  

   // Create regular expression pattern with a global flag.  
   var re = /\w+/g;  

   // Get the next word, starting at the position of lastindex.  
   var arr;  
   while ((arr = re.exec(src)) != null)  
      // New line:  
      document.write ("<br />");    
      document.write (arr.index + "-" + re.lastIndex + " ");  
      document.write (arr);  


Supported in the following document modes: Quirks, Internet Explorer 6 standards, Internet Explorer 7 standards, Internet Explorer 8 standards, Internet Explorer 9 standards, Internet Explorer 10 standards, Internet Explorer 11 standards. Also supported in Store apps (Windows 8 and Windows Phone 8.1). See Version Information.

Applies To: RegExp Object

See Also

Regular Expression Syntax (JavaScript)