Добавляем...


Объект RegExp | match()
Метод match(), предлагаемый объектами String, берет регулярное выражение как аргумент и возвращает массив, содержащий результаты сравнения. Если указанное в виде аргумента регулярное выражение имеет флаг глобальности (д), то возвращаемый массив содержит результаты для каждой найденной подстроки. Например,

var pattern = /\d{2}/g;
var lottoNumbers = "22, 48, 13, 17, 26";
var result = lottoNumbers.match(pattern);

поместит 22 в result[0], 48 — в result [ 1 ], и т.д. вплоть до 2 6 в result [4 ]. Использование match() с флагом глобальности является прекрасным способом быстрого анализа строк с известным форматом.
   Поведение match()с регулярным выражением без флага глобальности приблизительно идентично поведению RegExp. exec() с установленным флагом глобальности. Метод match() помещает значение индекса, соответствующего началу первого обнаруженного соответствия шаблону, в свойство экземпляра index возвращаемого массива. Устанавливается также свойство экземпляра input, которое теперь содержит всю оригинальную строку. Содержимое обнаруженной подстроки размещается в первом элементе массива (с нулевым индексом). Остальные элементы массива заполняются соответствующими подвыражениями: элемент с индексом п будет содержать значение $п. Например, в результате выполнения

var url = "Адресом является http://www.w3c.org/DOM/Activity";
var pattern = /(\w+):\/\/([\w\.]+)\/([\w\/]+)/;
// три подвыражения
var results = url.match(pattern);
document.writeln ("results.input =\t" + results.input);
document.writeln("<br />");
document.writeln("results.index =\t" + results.index);
document.writeln("<br />");
for (var i=0; i < results.length; i++)
{
document.writeln("results[" + i + "] =\t" + results[i]);
document.writeln("<br />");
}

получается вывод. Как видите, найдены и помещены в массив все три подвыражения. Вся соответствующая шаблону подстрока помещена в первый элемент массива. Свойства экземпляра index и input характеризуют оригинальную строку (не забывайте о том, что нумерация позиций в строке, как и в массиве, начинается с нуля). Если метод match() не обнаруживает совпадений, он возвращает null.

в результате выполнения получим следующее:
results.input = Адресом является http://www.w3c.org/DOM/Activity
results.index = 17
results[0] = http://www.w3c.org/D0M/Activity
results[1] = http
results[2] = www.w3c.org
results[3] = DOM/Activity
назад: replace() далее:


добавить комментарий
(без перезагрузки и регистрации)


10 случайных разделов

Что ищем на сайте ?


Примеры кода на сайте







@ 2008-2011 Amber
При использовании материалов ссылка на сайт обязательна
Яндекс.Метрика