Именованные карманы внутри регулярки JavaScript
Вспомним, как мы пользовались карманами в самом регулярном выражении:
let res = str.replace(/([a-z])\1/g, '!');
Иногда бывают ситуации, когда удобнее обращаться к карману не по его номеру, а по имени. Для этого нам нужно дать карману имя:
let res = str.replace(/(?<letter>[a-z])/g, '!');
Теперь мы можем обратиться к этому карману
через синтаксис \k<name>, вот так:
let res = str.replace(/(?<letter>[a-z])\k<letter>/g, '!');
Дана строка:
let str = '12:59:59 12:59:12 09:45:09';
Найдите все подстроки со временем, в которых час совпадает с секундами.