JavaScript RegExp lastIndex property

The JavaScript lastIndex property is used when we need to specify the index from which to start the next match. For example:

HTML with JavaScript Code
<!DOCTYPE html>
<html>
<body>

   <p id="res"></p>

   <script>
      let myString = "JavaScript is fun. Is not it?";
      let myPattern = /is/gi;

      let myOutput = "";
      while(myPattern.test(myString)==true)
         myOutput = myOutput + "At index number: " + myPattern.lastIndex + "<BR>";
            
      document.getElementById("res").innerHTML = myOutput;
   </script>
   
</body>
</html>
Output

The code above creates a regular expression pattern using the /is/gi syntax to match all occurrences of the string "is" in a given string.

The script then creates an empty string variable called myOutput and enters a while loop that uses the .test() method of the regular expression object to check if the pattern matches any substring in the given string.

If the pattern matches, the lastIndex property of the pattern object is appended to myOutput along with some text. This process continues until all matches have been found.

Finally, the output string myOutput is displayed in a paragraph element with the ID res using the document.getElementById().innerHTML method. The output will show the index number of each occurrence of the pattern within the given string.

That is, the is is available at two positions: one starts from index number 13, and the second one starts from index number 21.

Please note: The test() method is used to search a string for a match against a regular expression. It returns true on a match; otherwise, it returns false.

Please note: We can only use the lastIndex property if the g modifier is set while defining the regular expression pattern. This modifier is used to search for the specified string globally.

JavaScript lastIndex syntax

The syntax of the lastIndex property in JavaScript is:

RegExpObj.lastIndex

It returns an integer value representing the index of the first character (of the pattern's string) after the last match.

JavaScript Online Test


« Previous Tutorial Next Tutorial »


Liked this post? Share it!