Поделиться через


Свойство lastIndex

Обновлен: Ноябрь 2007

Возвращает позицию знака, с которого начинается следующее найденное совпадение в строке для поиска.

{RegExp | reArray}.lastIndex

Аргументы

  • RegExp
    Обязательный. Глобальный объект RegExp.

  • reArray
    Обязательный. Массив, возвращенный методом exec объекта Regular Expression.

Заметки

Значения свойства lastIndex начинаются с нуля, это означает, что индекс первого знака равен нулю. Начальным значением свойства является –1. Это значение изменяется при каждом успешном обнаружении искомого выражения.

Свойство lastIndex объекта RegExp изменяется методами exec и test объекта RegExp, а также методами match, replace и split объекта String.

К значениям свойства lastIndex применяются следующие правила.

  • Если совпадения не найдены, то для свойства lastIndex устанавливается значение -1.

  • Если значение свойства lastIndex больше длины строки, то происходит сбой методов test и exec, а для свойства lastIndex устанавливается значение -1.

  • Если значение свойства lastIndex равно длине строки, то регулярное выражение совпадает при совпадении шаблона с пустой строкой. В противном случае поиск завершается неудачей и свойство lastIndex сбрасывается к значению -1.

  • Во всех других случаях для свойства lastIndex устанавливается позиция, следующая за последним найденным совпадением.

Начальным значением свойства RegExp.lastIndex является -1. Значение этого свойства предназначено только для чтения, оно изменяется при каждом успешном обнаружении совпадения.

dyz4y8dz.alert_note(ru-ru,VS.90).gifПримечание.

Свойства объекта RegExp недоступны при работе в быстром режиме, который используется в языке JScript по умолчанию. Чтобы выполнить компиляцию программы, в которой используются эти свойства, из командной строки, необходимо выключить быстрый режим с помощью параметра /fast-. Отключать параметр быстрого выполнения программ в ASP.NET небезопасно, поскольку могут возникнуть проблемы с многопоточным выполнением.

Пример

В следующем примере демонстрируется использование свойства lastIndex. Данная функция выполняет итерацию строки для поиска и печатает значения index и lastIndex для каждого слова в строке.

var src : String = "The rain in Spain falls mainly in the plain.";
var re : RegExp = /\w+/g;
var arr : Array;
while ((arr = re.exec(src)) != null)
   print(arr.index + "-" + arr.lastIndex + "\t" + arr);

После выполнения этой программы выводится следующий результат:

0-3     The
4-8     rain
9-11    in
12-17   Spain
18-23   falls
24-30   mainly
31-33   in
34-37   the
38-43   plain

Требования

Версия 3

Применение:

Объект RegExp

См. также

Основные понятия

Синтаксис регулярного выражения

Ссылки

Метод exec