Карманы в методе match в регулярках JavaScript
Как вы уже знаете, найденная через метод match
подстрока попадает в нулевой элемент массива
с результатом. В остальные элементы этого
массива попадают так называемые карманы.
Карманы представляют собой способ разбить найденное на отдельные части. Для их использования нужно заключить часть регулярки в круглые скобки. В этом случае в массиве с результатом кроме найденной строки также появится и то, что попало под регулярку, стоящую в этих скобках.
Давайте попробуем на практике. Пусть у нас есть такая строка со временем:
let str = '12:34';
Давайте положим часы и минуты из этого времени в отдельные карманы:
let res = str.match(/(\d+):(\d+)/);
Посмотрим на результат:
console.log(res[0]); // '12:34' - найденное
console.log(res[1]); // '12' - 1 карман
console.log(res[2]); // '34' - 2 карман
Дана строка, содержащая домен:
let str = 'sss domain.ru zzz';
Найдите этот домен и положите его имя в первый карман, а зону - во второй.
Дана строка, содержащая дату:
let str = '31.12.2025';
Положите день в первый карман, месяц - во второй, а год - в третий.