RegExp: lastIndex
Властивість даних lastIndex
примірника RegExp
задає індекс, з якого почнеться наступний пошук збігу.
Спробуйте його в дії
Значення
Невід'ємне ціле число.
Атрибути властивості RegExp: lastIndex |
|
---|---|
Записна | так |
Перелічувана | ні |
Конфігуровна | ні |
Опис
Ця властивість задається тільки якщо примірник регулярного виразу має позначку g
– на позначення глобального пошуку, або y
– на позначення липкого пошуку. Коли на заданому введенні викликається test()
або exec()
, застосовуються наступні правила:
-
Якщо
lastIndex
– більше за довжину введення, тоexec()
абоtest()
не знайде збігу, іlastIndex
отримає значення 0. -
Якщо
lastIndex
дорівнює або менше за довжину введення, тоexec()
абоtest()
спробує знайти збіг зі введенням, починаючи відlastIndex
.- Якщо
exec()
абоtest()
знайшов збіг, тоlastIndex
отримує значення позиції кінця знайденого збігу. - Якщо
exec()
абоtest()
не знайшов збігу, тоlastIndex
отримує значення 0.
- Якщо
Приклади
Використання lastIndex
Для прикладу – наступна послідовність інструкцій:
const re = /(hi)?/g;
Дає збіг з порожнім рядком.
console.log(re.exec("hi"));
console.log(re.lastIndex);
Повертає ["hi", "hi"]
, а lastIndex
дорівнює 2.
console.log(re.exec("hi"));
console.log(re.lastIndex);
Повертає ["", undefined]
, порожній масив, чий нульовий елемент – текст збігу. В цьому випадку це порожній рядок, адже lastIndex
мала значення 2 (і досі має значення 2), а hi
має довжину 2.
Специфікації
Сумісність із браузерами
desktop | mobile | server | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
lastIndex
|
Chrome Full support 1 | Edge Full support 12 | Firefox Full support 1 | Internet Explorer Full support 5.5 | Opera Full support 5 | Safari Full support 1 | WebView Android Full support 1 | Chrome Android Full support 18 | Firefox for Android Full support 4 | Opera Android Full support 10.1 | Safari on iOS Full support 1 | Samsung Internet Full support 1.0 | Deno Full support 1.0 | Node.js Full support 0.10.0 |