Метод
exec()
класса RegExp проверяет предоставленные строки на предмет наличия совпадения регулярного выражения и возвращает массив вместе со следующим.
Массив также включает свойство
index
, определяющее положение указателя начала совпадения подстроки.
Например, рассмотрим следующий код:
var pattern:RegExp = /\d{3}\-\d{3}-\d{4}/; //U.S phone number
var str:String = "phone: 415-555-1212";
var result:Array = pattern.exec(str);
trace(result.index, " - ", result);
// 7-415-555-1212
Если в регулярном выражении установлен флаг
g
(
global
), несколько раз используйте метод
exec()
для совпадения нескольких подстрок.
var pattern:RegExp = /\w*sh\w*/gi;
var str:String = "She sells seashells by the seashore";
var result:Array = pattern.exec(str);
while (result != null)
{
trace(result.index, "\t", pattern.lastIndex, "\t", result);
result = pattern.exec(str);
}
//output:
// 0 3 She
// 10 19 seashells
// 27 35 seashore