Метод exec
Выполняет поиск по строке с помощью шаблона регулярного выражения и возвращает массив, содержащий результаты поиска.
function exec(str : String) : Array
Аргументы
- str
Обязательный. Объект String или строковый литерал, по которому выполняется поиск.
Заметки
Если метод exec не находит совпадений, возвращается результат null. Если совпадение найдено, метод exec возвращает массив, а свойства глобального объекта RegExp обновляются в соответствии с результатами совпадения. Нулевой элемент массива содержит полное совпадение, элементы с 1 по n содержит вложенные совпадения внутри совпадения. Такое поведения идентично поведению метода match без установленного глобального флага (g).
Если для регулярного выражения установлен глобальный флаг, метод exec выполняет поиск в строке, начиная с позиции, указанной значением lastIndex. Если глобальный флаг не установлен, метод exec пропускает значение lastIndex и выполняет поиск с начала строки.
Массив, возвращенный методом exec, имеет три свойства: input, index и lastIndex. Свойство input содержит всю строку, по которой выполнялся поиск. Свойство index содержит положение совпавшей подстроки внутри целой строки, по которой выполнялся поиск. Свойство lastIndex содержит положение после последнего знака в совпадении.
Пример
В следующем примере показано использование метода exec.
var src = "The quick brown fox jumps over the lazy dog.";
// Create regular expression pattern with a global flag.
var re = /\w+/g;
// Get the next word, starting at the position of lastindex.
var arr;
while ((arr = re.exec(src)) != null)
{
print (arr.index + "-" + arr.lastIndex + " " + arr[0]);
}
// Output:
// 0-3 The
// 4-9 quick
// 10-15 brown
// 16-19 fox
// 20-25 jumps
// 26-30 over
// 31-34 the
// 35-39 lazy
// 40-43 dog