Метод match
Обновлен: Ноябрь 2007
Выполняет поиск по строке с помощью шаблона регулярного выражения и возвращает массив, содержащий результаты поиска.
function match(rgExp : RegExp) : Array
Аргументы
- rgExp
Обязательный. Экземпляр объекта Regular Expression, содержащий шаблон регулярного выражения и установленные флаги. Может также быть именем переменной или строковым литералом, содержащим шаблон регулярного выражения и флаги.
Заметки
Если метод match не находит совпадений, возвращается результат null. Если совпадение найдено, метод match возвращает массив, а свойства глобального объекта RegExp обновляются в соответствии с результатами совпадения.
Массив, возвращенный методом match, имеет три свойства: input, index и lastIndex. Свойство input содержит всю строку, по которой выполнялся поиск. Свойство index содержит положение совпавшей подстроки внутри целой строки, по которой выполнялся поиск. Свойство lastIndex содержит положение, следующее за последним символом в последнем совпадении.
Если глобальный флаг не установлен (g), нулевой элемент массива содержит совпадение целиком, в то время как элементы 1 — n содержат только вложенные совпадения, найденные внутри совпадения. Такое поведение идентично поведению метода exec без установленного глобального флага. Если глобальный флаг установлен, элементы 0 - n содержат все найденные совпадения.
Пример
В следующем примере показано использование метода match.
function MatchDemo(){
var r, re; //Declare variables.
var s = "The rain in Spain falls mainly in the plain";
re = /ain/i; //Create regular expression pattern.
r = s.match(re); //Attempt match on search string.
return(r); //Return first occurrence of "ain".
}
В следующем примере демонстрируется использование метода match с установленным флагом g.
function MatchDemo(){
var r, re; //Declare variables.
var s = "The rain in Spain falls mainly in the plain";
re = /ain/ig; //Create regular expression pattern.
r = s.match(re); //Attempt match on search string.
return(r); //Return array containing all four
// occurrences of "ain".
}
Следующие строки кода демонстрируют использование строкового литерала с методом match.
var r, re = "Spain";
r = "The rain in Spain".replace(re, "Canada");