Grupos de captura no método match em expressões regulares do JavaScript
Como você já sabe, a substring encontrada através do método match
vai para o elemento zero do array
de resultados. Nos outros elementos deste
array, vão os chamados grupos de captura.
Grupos de captura representam uma maneira de dividir o encontrado em partes separadas. Para usá-los é necessário colocar parte da expressão regular entre parênteses. Neste caso, no array de resultados, além da string encontrada, também aparecerá o que coube na parte da expressão regular que está entre esses parênteses.
Vamos tentar na prática. Suponha que temos uma string com um horário:
let str = '12:34';
Vamos colocar as horas e os minutos deste horário em grupos de captura separados:
let res = str.match(/(\d+):(\d+)/);
Vejamos o resultado:
console.log(res[0]); // '12:34' - o resultado completo
console.log(res[1]); // '12' - 1º grupo de captura
console.log(res[2]); // '34' - 2º grupo de captura
Dada uma string contendo um domínio:
let str = 'sss domain.ru zzz';
Encontre este domínio e coloque seu nome no primeiro grupo de captura, e o TLD (domínio de topo) - no segundo.
Dada uma string contendo uma data:
let str = '31.12.2025';
Coloque o dia no primeiro grupo de captura, o mês - no segundo, e o ano - no terceiro.