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

         

Описание


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.



Содержание раздела