«Единственный способ творить великие дела – это любить то, что ты делаешь»
JavaScript
site.komp36.ru Создание сайтов. Твой сайт фотографа Что есть на сайте? Несколько фото галерей: свадебная, постановочная съемка, love story, детские фото. Договор на фотосъемку, прайс-лист.
site.komp36.ru Продающий лендинг. Создание сайтов Установка и продажа окон, установка дверей, перегородок. Одностраничный продающий сайт. Заявки прямо с сайта
site.komp36.ru Универсальный лендинг. Выбрать тему для сайта! Лендинг адаптируется под любую тему: ремонт, отделка, продажа окон, дверей, лестниц, мебели и многое другое
site.komp36.ru Создание сайтов. Сайт сервисного центра. Сайт компании. Новости и отзывы. Несколько прайс-листов – под каждый отдельная страница. Возможность размещения статей


Игра «Морской Бой» на JavaScript: Простая Игра и Игра для Двоих



Метод match так же, как и метод search работает с регулярными выражениями. Он также ищет совпадение в строке, но возвращает не позицию, с которой начинается совпадение, а само совпадение.



Метод match - Возвращаем совпадение

Чтобы наглядно увидеть, как работает метод match, рассмотрим пример из предыдущей заметки, где при помощи регулярного выражения \d{6} и метода search искали в строке индекс из шести цифр.

Только теперь будем работать с методом match.

Фрагмент кода

<script type="text/javascript">

var index = "Индекс г. Воронеж 394000";
var regular = /\d{6}/; /* Регулярные выражения: \d и {6} - последовательность из шести цифр */
var result = index.match(regular); /* Ищем последовательность из шести цифр в строке */
document.write(result);

</script>

Результат

Итак, в этом примере при помощи метода match мы нашли в строке совпадение (почтовый индекс) и вывели его на экран.

Метод match - Экранирование скобок в регулярных выражениях

Теперь рассмотрим более сложный пример того, как работает метод match в Javascript.

Сделаем так, чтобы метод match выводил все совпадения, найденные в строке.

И узнаем о том, что в регулярных выражениях обязательно экранировать скобки.

Допустим, у нас есть переменная, содержащая список сотрудников какой-либо фирмы, с указанием их имен, телефонов и городов, где они работают. var people = ("Иванов И.И. тел. 8(495)210-21-21 г. Москва; Петров П.П. тел. 8(495)320-20-20 г. Москва; Сидоров С.С. тел. 8(473)222-22-33"); Нужно выбрать тех, кто работает в Москве, и вывести на экран номера их телефонов.

Фрагмент кода

<script type="text/javascript">

var people = "Иванов И.И. тел. 8(495)210-21-21 г. Москва; Петров П.П. тел. 8(495)320-20-20 г. Москва; Сидоров С.С. тел. 8(473)222-22-33";
var regular = /8\(495\)\d{3}-\d{2}-\d{2}/; /* Создаем регулярное выражение */
var result = people.match(regular); /* Ищем совпадения в строке */

document.write(result);

</script>

Результат

Разберем этот пример.

  • Согласно исходной переменной 2 человека работают в Москве и имеют следующие номера телефонов: 8(495)210-21-21 и 8(495)320-20-20

  • У этих номеров общие цифры 8(495) и далее разная последовательность из 7-ми произвольных цифр.
    Согласно этому составляем регулярное выражение
    8\(495\)\d{3}-\d{2}-\d{2}, где...

  • 8\(495\) - говорит о том, что мы ищем 8(495). Обратный слэш необходим для экранирования круглых скобок, так как в регулярных выражениях они являются специальными символами и просто так их использовать нельзя.

  • \d{3} - это регулярное выражение должно быть Вам уже знакомо из предыдущей заметки и оно обозначает последовательность из 3-х цифр.

  • \d{2} - последовательность из 2-х цифр.

Но в результате мы увидим только один - 1-ый номер телефона 8(495)210-21-21, то есть метод match вернул только одно совпадение. А в строке их два - два номера телефона, которые соответствуют шаблону.

Метод match - Возвращаем совпадения - g - Глобальный поиск

Продолжим работать с предыдущим примером.

Теперь нужно сделать так, чтобы метод match смог вернуть все совпадения в строке.

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

Как раз это мы и увидим в примере ниже...

Фрагмент кода

<script type="text/javascript">

var people = "Иванов И.И. тел. 8(495)210-21-21 г. Москва; Петров П.П. тел. 8(495)320-20-20 г. Москва; Сидоров С.С. тел. 8(473)222-22-33";
var regular = /8\(495\)\d{3}-\d{2}-\d{2}/g; /* Создаем регулярное выражение и добавляем модификатор шаблонов - g*/
var result = people.match(regular); /* Ищем совпадения в строке */

document.write(result);

</script>

Результат

В итоге при помощи метода match и модификатора шаблонов g мы вернули все совпадения, найденные в строке, которые перечислены через запятую. То есть по сути метод match возвращает массив из совпадений.

Если метод match не находит совпадений, то он возвращает null.

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

Читайте также...

site.komp36.ruТвой сайт фотографа. Создание сайтов Что есть на сайте? Несколько фото галерей: свадебная, постановочная съемка, love story, детские фото. Договор на фотосъемку, прайс-лист.
site.komp36.ru Акция Как начать свое дело? Свой сайт «Укладка плитки» 9 000 руб. Лендинг адаптируется под любой вид отделочных работ, продажу товаров или услуг. Сайт поможет найти новых клиентов
site.komp36.ru Акция Продающий лендинг «Установка и продажа окон» 9 000 руб. Одностраничный продающий сайт. Установка и продажа окон, установка дверей, перегородок. Заявки прямо с сайта

Отзывы и комментарии:

Комментариев нет...

Оставить отзыв:

Ваше Имя:

Текст комментария:

Ответьте на вопрос:

Сколько дней в Високосном году?


Объект String
Метод match - Возвращает массив из совпадений - Глобальный поиск g
3320
Свойство length - Число символов в строке
3113
Практическая задача - Свойство length
1507
Регистр строки - toUpperCase и toLowerCase
24930
Практическая задача - Методы toUpperCase и toLowerCase
1640
Поиск совпадений в строке - Методы indexOf и lastIndexOf
3092
Практическая задача - Методы indexOf и lastIndexOf
1584
Метод slice - Копирование из строки
2915
Практическая задача - Метод slice
1649
Методы charAt и charCodeAt - Возвращаем символ и КОД символа
10548
Практическая задача - Методы charAt и charCodeAt
3003
Метод search - Регулярные выражения
2327
Регулярные выражения - Начало и Конец строки
2369
Практическая задача - Регулярные выражения
1523
Поиск сайта в строке
2021
Практическая задача с кредитной картой
2335
Метод replace - Замена совпадений
4619
Практическая задача - Метод replace
2158
Метод trim в - Удаление пробелов в начале и конце строки
6263
Метод substring - Извлекает часть строки
1157
Метод split в JavaScript - Разделитель строки
2182
Тематические публикации
site.komp36.ru Как начать свое дело? Свой сайт «Укладка плитки» 9 000 руб. Лендинг адаптируется под любой вид отделочных работ, продажу товаров или услуг. Сайт поможет найти новых клиентов
site.komp36.ru Продающий лендинг «Установка и продажа окон» 9 000 руб. Одностраничный продающий сайт. Установка и продажа окон, установка дверей, перегородок. Заявки прямо с сайта
Популярные заметки
Последние заметки