Справочник по JScript : Методы JScript : Метод match

смотрим также

Материал из Справочник Web-языков

Перейти к: навигация, поиск


Содержание

Метод match

Выполняет поиск в строке, используя шаблон регулярного выражения, и возвращает массив, содержащий результаты поиска.

Синтаксис

stringObj.match(rgExp)

Аргументы

stringObj
Обязательный аргумент. Объект String или литерал, в котором осуществляется поиск.
rgExp
Обязательный аргумент. Экземпляр объекта Regular Expression, содержащий шаблон регулярного выражения и установленные флаги. Может также быть именем переменной или строковым литералом, где содержится шаблон регулярного выражения и установленные флаги.

Описание

Если метод match не находит совпадений, то он возвращает null. Если совпадение найдено, то метод match возвращает массив с результатами, а свойства глобального объекта RegExp обновляются в соответствии с результатами поиска.

У массива, который возвращает метод match, есть три свойства: input, index и lastIndex. Свойство input содержит строку поиска. Свойство index содержит позицию совпавшей подстроки в строке поиска. Свойство lastIndex содержит позицию символа, который идет за последним совпавшим в строке поиска.

Если глобальный флаг g не установлен, то нулевой элемент массива содержит полное совпадение, в то время как другие элементы содержат все неполные совпадения. Такое поведение похоже на то, как работает метод exec, когда глобальный флаг не установлен. Если же глобальный флаг установлен, то в массиве, начиная с нулевого элемента, содержатся все возможные совпадения.

Метод применяется к объекту: String Object (Windows Scripting - JScript).

Пример

В первом примере показано как работает метод match, когда не установлен глобальный флаг g:

var src = "Please send mail to george@contoso.com and someone@example.com. Thanks!";

// Создаем регулярное выражение для поиска e-mail адресов.
// Глобальный флаг не включен.
// (Более точные и сложные RegExp шаблоны доступны для
// поиска совпадения e-mail адресов.)
var re = /(\w+)@(\w+)\.(\w+)/;

var result = src.match(re);

// Т.к. глобальный флаг не включен, то полное совпадение находится
// в элементе массива 0, а подсовпадения (неполные совпадения) в элементах от 1 до n.
// Вы можете также получать подсовпадения из RegExp.$1, RegExp.$2,
// и т.д.
for (var index = 0; index < result.length; index++)
{
    if (index > 0)
    {
        document.write ("submatch " + index + ": ");
    }
    document.write(result[index]);
    document.write("
"); } // Результат: // 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!";

// Создаем регулярное выражение для поиска e-mail адресов.
// Глобальный флаг включен.
var re = /(\w+)@(\w+)\.(\w+)/g;

var result = src.match(re);

// Т.к. глобальный флаг включен, то совпадения находятся в массиве элементов от  0 до n.

for (var index = 0; index < result.length; index++)
{
    document.write(result[index]);
    document.write("
"); } // Результат: // george@contoso.com // someone@example.com

Во третьем примере показан код, иллюстрирующий использование строкового литерала и метода match.

var re = /th/i;
var r = "through the pages of this book".match(re);

Поддержка

JScript Version 3

Смотрите также

Ссылки на источники

http://msdn.microsoft.com/en-us/library/7df7sf4x(v=VS.85).aspx

Добавить страницу в закладки:
РАЗРЕШАЕТСЯ перепечатывать и копировать информацию ТОЛЬКО ПРИ РАЗМЕЩЕНИИ ссылки на оригинал!
(<A href="http://www.spravkaweb.ru/">Справочник Web-языков</A>)
другие проекты
Rambler\'s Top100 Индекс цитирования