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 | |
|---|---|
| Записываемое | да |
| Перечисляемое | нет |
| Настраиваемое | нет |
Синтаксис
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> |
Совместимость с браузерами
Loading…