Метод match
Выполняет поиск по строке с помощью шаблона регулярного выражения и возвращает массив, содержащий результаты поиска.
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 с неустановленным глобальным флагом (g).
var src = "Please send mail to george@contoso.com and someone@example.com. Thanks!";
// Create a regular expression to search for an e-mail address.
// The global flag is not included.
// (More sophisticated RegExp patterns are available for
// matching an e-mail address.)
var re = /(\w+)@(\w+)\.(\w+)/;
var result = src.match(re);
// Because the global flag is not included, the entire match is
// in array element 0, and the submatches are in elements 1 through n.
print(result[0]);
for (var index = 1; index < result.length; index++)
{
print("submatch " + index + ": " + result[index]);
}
// Output:
// george@contoso.com
// submatch 1: george
// submatch 2: contoso
// submatch 3: com
В этом примере показано использование метода match с установленным глобальным флагом (g).
var src = "Please send mail to george@contoso.com and someone@example.com. Thanks!";
// Create a regular expression to search for an e-mail address.
// The global flag is included.
var re = /(\w+)@(\w+)\.(\w+)/g;
var result = src.match(re);
// Because the global flag is included, the matches are in
// array elements 0 through n.
for (var index = 0; index < result.length; index++)
{
print(result[index]);
}
// Output:
// george@contoso.com
// someone@example.com
Следующие строки кода демонстрируют использование строкового литерала с методом match.
var re = /th/i;
var result = "through the pages of this book".match(re);