Grupos de captura en el método match en expresiones regulares de JavaScript
Como ya sabes, la subcadena encontrada mediante el método match
se coloca en el elemento cero del array
con el resultado. En los demás elementos de este
array se colocan los llamados grupos de captura.
Los grupos de captura representan una forma de dividir lo encontrado en partes separadas. Para usarlos es necesario encerrar parte de la expresión regular entre paréntesis redondos. En este caso, en el array con el resultado, además de la cadena encontrada, también aparecerá lo que coincida con la expresión regular que está dentro de esos paréntesis.
Probemos en la práctica. Supongamos que tenemos una cadena así con una hora:
let str = '12:34';
Pongamos las horas y los minutos de esta hora en grupos de captura separados:
let res = str.match(/(\d+):(\d+)/);
Veamos el resultado:
console.log(res[0]); // '12:34' - lo encontrado
console.log(res[1]); // '12' - 1er grupo de captura
console.log(res[2]); // '34' - 2do grupo de captura
Se da una cadena que contiene un dominio:
let str = 'sss domain.ru zzz';
Encuentre este dominio y coloque su nombre en el primer grupo de captura, y el TLD (zona) - en el segundo.
Se da una cadena que contiene una fecha:
let str = '31.12.2025';
Coloque el día en el primer grupo de captura, el mes - en el segundo, y el año - en el tercero.