Справочник по 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 [email protected] and [email protected]. 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 0) { document.write ("submatch " + index + ": "); } document.write(result[index]); document.write("
"); } // Результат: // [email protected] // submatch 1: george // submatch 2: contoso // submatch 3: com
Во втором примере показано как работает метод match, когда установлен глобальный флаг g:
var src = "Please send mail to [email protected] and [email protected]. Thanks!"; // Создаем регулярное выражение для поиска e-mail адресов. // Глобальный флаг включен. var re = /(\w+)@(\w+)\.(\w+)/g; var result = src.match(re); // Т.к. глобальный флаг включен, то совпадения находятся в массиве элементов от 0 до n. for (var index = 0; index "); } // Результат: // [email protected] // [email protected]
Во третьем примере показан код, иллюстрирующий использование строкового литерала и метода match.
var re = /th/i; var r = "through the pages of this book".match(re);
Поддержка
Смотрите также
- Объект String
- Объект Regular Expression
- Объект RegExp
- Метод exec
- Метод replace
- Метод search
- Метод test
Ссылки на источники
https://msdn.microsoft.com/en-us/library/7df7sf4x(v=VS.85).aspx