JavaScript - Propriedade RegExp lastIndex

Descrição

lastIndexuma propriedade de leitura / gravação de objetos RegExp. Para expressões regulares com o atributo "g" definido, ele contém um número inteiro que especifica a posição do caractere imediatamente após a última correspondência encontrada peloRegExp.exec() e RegExp.test()métodos. Esses métodos usam essa propriedade como ponto de partida para a próxima pesquisa que realizam.

Esta propriedade permite que você chame esses métodos repetidamente, para percorrer todas as correspondências em uma string e funciona apenas se o modificador "g" estiver definido.

Esta propriedade é de leitura / gravação, portanto, você pode defini-la a qualquer momento para especificar onde, na string de destino, a próxima pesquisa deve começar. exec() e test() redefinir automaticamente o lastIndex para 0 quando eles não conseguem encontrar uma correspondência (ou outra correspondência).

Sintaxe

Sua sintaxe é a seguinte -

RegExpObject.lastIndex

Valor de retorno

Retorna um inteiro que especifica a posição do caractere imediatamente após a última correspondência.

Exemplo

Experimente o seguinte programa de exemplo.

<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>

Resultado

Test 1 - Current Index: 10
Test 2 - Current Index: 35