Клиентский JavaScript. Справочник

         

lastIndex это свойство отдельного объекта


lastIndex это свойство отдельного объекта регулярного выражения.
Это свойство устанавливается, только если регулярное выражение использовало флаг "g" для выполнения глобального поиска. Применяются следующие правила:
  • Если lastIndex превышает размер строки, regexp.test и regexp.exec терпят неудачу, а lastIndex устанавливается в 0.
  • Если lastIndex равен длине строки и если регулярное выражение совпадает с пустой строкой, то регулярное выражение совпадает с вводом, начиная с lastIndex.
  • Если lastIndex равен длине строки и если регулярное выражение не совпадает с пустой строкой, то регулярное выражение не совпадает с вводом, а lastIndex снова устанавливается в 0.
  • Иначе lastIndex устанавливается в следующую позицию после самого последнего совпадения.
Например, рассмотрим следующую последовательность операторов:
re = /(hi)?/g Совпадает с пустой строкой.
re("hi") Возвращает ["hi", "hi"] с lastIndex, равным 2.
re("hi") Возвращает [""], пустой массив, чей нулевой элемент является совпавшей строкой. В данном случае это пустая строка, поскольку lastIndex был 2 (и всё ещё остаётся 2), а "hi" имеет размер 2.
Содержание раздела