This page was translated from English by the community.Learn more and join the MDN Web Docs community.
RegExp.lastIndex
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since июль 2015 г..
Сводка
СвойствоlastIndex является целочисленным свойством регулярного выражения, доступным как для чтения, так и для записи, которое определяет индекс, с которого следует начинать следующее сопоставление.
Атрибуты свойстваRegExp.lastIndex | |
|---|---|
| Записываемое | да |
| Перечисляемое | нет |
| Настраиваемое | нет |
In this article
Синтаксис
regExpObj.lastIndex
Описание
Это свойство устанавливается только в том случае, если в регулярном выражении используется флаг"g", указывающий на необходимость глобального поиска. Оно подчиняется следующим правилам:
- Если свойство
lastIndexбольше длины строки, методыtest()иexec()завершатся с неудачей, а свойствоlastIndexбудет установлено в 0. - Если свойство
lastIndexравно длине строки и регулярное выражение сопоставляется с пустой строкой, то регулярное выражение начнёт сопоставляться, начиная с позицииlastIndex. - Если свойство
lastIndexравно длине строки и регулярное выражение не сопоставляется с пустой строкой, то регулярное выражение не соответствует входу и свойствоlastIndexсбрасывается в 0. - Во всех остальных случаях свойство
lastIndexустанавливается в позицию, следующую за самым последним сопоставлением.
Примеры
>Пример: использование свойстваlastIndex
Рассмотрим следующую последовательность инструкций:
var re = /(привет)?/g;Сопоставляется с пустой строкой.
console.log(re.exec("привет"));console.log(re.lastIndex);Выведет массив["привет", "привет"], а свойствоlastIndex будет равным 6.
console.log(re.exec("привет"));console.log(re.lastIndex);Выведет массив["", undefined], «пустой» массив, чей нулевой элемент является сопоставившейся строкой. В данном случае, ей является пустая строка, поскольку свойствоlastIndex было равно 6 (и остаётся равным 6), а строка"привет" имеет длину 6.
Спецификации
| Specification |
|---|
| ECMAScript® 2026 Language Specification> # sec-properties-of-regexp-instances> |