lastIndex (Propiedad)

Devuelve la posición del carácter donde comienza la siguiente coincidencia en una cadena de búsqueda.

{RegExp | reArray}.lastIndex

Argumentos

  • RegExp
    Obligatorio. Objeto RegExp global.

  • reArray
    Obligatorio. Matriz devuelta por el método exec de un objeto Regular Expression.

Comentarios

La propiedad lastIndex está basada en cero; es decir, el índice del primer carácter es cero. Su valor inicial es –1. Su valor cambia cada vez que se produce una coincidencia correcta.

La propiedad lastIndex del RegExp objeto es modificada por los métodos exec y test del objeto RegExp y los métodos match, replace y split del objeto String.

Las siguientes reglas se aplican a los valores de lastIndex:

  • Si no hay ninguna coincidencia, lastIndex se establece en -1.

  • Si lastIndex es mayor que la longitud de la cadena, los métodos test y exec dan un error y lastIndex se establece en -1.

  • Si lastIndex es igual a la longitud de la cadena, la expresión regular coincide si el modelo coincide con la cadena vacía. De lo contrario, la coincidencia produce un error y lastIndex se restablece en -1.

  • De lo contrario, lastIndex se establece en la siguiente posición a continuación de la coincidencia más reciente.

El valor inicial de la propiedad RegExp.lastIndex es –1. Su valor es de sólo lectura y se modifica cada vez que se obtiene una coincidencia correcta.

Nota

Las propiedades del objeto RegExp no están disponibles cuando se ejecuta en modo rápido, el modo predeterminado en JScript. Para compilar, desde la línea de comandos, un programa que utilice estas propiedades, deberá desactivarse la opción fast utilizando /fast-. No resulta seguro desactivar la opción fast en ASP.NET, debido a que puede haber problemas de subprocesamiento.

Ejemplo

En el ejemplo siguiente se muestra el uso de la propiedad lastIndex. Esta función recorre en iteración una cadena de búsqueda e imprime los valores de index y lastIndex para cada palabra de la cadena.

var src : String = "The quick brown fox jumps over the lazy dog.";
var re : RegExp = /\w+/g;
var arr : Array;
while ((arr = re.exec(src)) != null)
{
    print(arr.index + "-" + arr.lastIndex + "\t" + arr[0]);
}

El resultado de este programa es:

0-3     The
4-9     quick
10-15   brown
16-19   fox
20-25   jumps
26-30   over
31-34   the
35-39   lazy
40-43   dog

Requisitos

Versión 3

Se aplica a:

RegExp (Objeto)

Vea también

Referencia

exec (Método)

Conceptos

Sintaxis de expresiones regulares