Поделиться через


Метод 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);

Требования

Версия 3

Применение:

Объект String

См. также

Ссылки

Метод exec

Объект RegExp

Объект Regular Expression

Метод replace

Метод search

Метод test

Основные понятия

Программирование регулярных выражений