String.prototype.match
Ищет совпадения с регулярным выражением.
Доступно с: ES3
Синтаксис
str.match(regexp)Параметры
| Параметр | Тип | Описание |
|---|---|---|
| regexp | RegExp | Регулярное выражение. |
Возвращаемое значение
Array | nullБез флага g — совпадение с группами, с флагом g — массив всех совпадений; null, если ничего не найдено.
Примеры
С флагом g — все совпадения:
console.log('Call 555-1234 or 555-9876'.match(/\d{3}-\d{4}/g));Результат:
[
"555-1234",
"555-9876"
]Без флага g — первое совпадение и группы:
const match = 'Price: 42 USD'.match(/(\d+) (\w+)/);
console.log(match[1], match[2]);Результат:
42 USDНичего не найдено:
const found = 'hello'.match(/\d+/g);
console.log(found);
console.log(found ?? []);Результат:
null
[]Примечания
Если совпадений нет, возвращается null, а не пустой массив, поэтому 'hello'.match(/\d/g).length вызовет ошибку. Подставляйте значение по умолчанию: str.match(re) ?? [].
См. также
- String.prototype.matchAll — Возвращает все совпадения вместе с группами.
- RegExp.prototype.test — Проверяет, есть ли в строке совпадение с шаблоном.
- RegExp.prototype.exec — Ищет совпадение и возвращает подробности: группы и позицию.
Вопросы и ответы по теме
В учебнике
- Регулярные выражения — Регулярные выражения в JavaScript для начинающих: шаблоны, флаги, классы символов, проверка, поиск и замена текста.