match (regexp)

Синтаксис str.match(regexp)
Аргументы regexp регулярное выражение в виде объекта RegExp или строка

Если регулярное выражение без флага “g”, то возвращает такое же результат, как regexp.exec(str).

Если же для регулярного выражения указан флаг “g”, то метод возвращает массив, содержащий все совпадения.

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

Замечания

Если вы хотите только проверить, совпадает ли строка с регулярным выражением – используйсте regexp.test(string).
Если вам нужно только первое совпадение – вам может лучше подойти regexp.exec(string)
Пример без глобального поиска

В следующем примере match используется для поиска строки “Глава”, за которой идет 1 или групп из цифр с последующей точкой.

1
str = “За информацией обратитесь: Глава 3.4.5.1”;
2
re = /глава (\d+(\.\d)*)/i
3
found = str.match(re)
4
document.write(found)
Возвратит массив из трех элементов:

[“Глава 3.4.5.1”, “3.4.5.1”, “.1”]
“Глава 3.4.5.1” – полное совпадение с регулярным выражением /глава (\d+(\.\d)*)/i,
“3.4.5.1” – первая скобка в совпадении,
“.1” – вторая скобка в совпадении
Пример с глобальным поиском

При глобальном поиске регультат match – просто массив всех совпадений (и null, если их нет).

1
str = “За информацией обратитесь: Глава 3.4.5.1, Глава 7.5”;
2
re = /глава (\d+(\.\d)*)/ig
3
found = str.match(re)
4
alert(found)
Выведет массив из двух элементов:

[ “Глава 3.4.5.1”, “Глава 7.5” ]
Скобки при таком поиске не учитываются.

Если вам нужен глобальный поиск с учетом скобок – используйте многократный вызов exec.

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: