matchAll global em expressões regulares JavaScript
O método matchAll retorna todas as correspondências
na forma de um objeto iterável,
cada elemento do qual
contém um array com a correspondência encontrada e seus grupos de captura.
O método só pode ser chamado com o modificador g.
Vamos ver um exemplo. Suponha que temos a seguinte string:
let str = '12 34 56';
Vamos encontrar todos os pares de números e dividir seus dígitos em grupos de captura:
let matches = str.matchAll(/(\d)(\d)/g);
Vamos iterar sobre o objeto iterável obtido com um loop e exibir as correspondências encontradas:
for (let match of matches) {
console.log(match); // [12, 1, 2], [34, 3, 4], [56, 5, 6]
}
Dada a seguinte string:
let str = '12:37 15:48 17:59';
Encontre todas as substrings com horário nela e para cada uma encontrada, decomponha as horas e os minutos em grupos de captura.
Dada a string:
let str = 'site.ru sss site.com zzz site.net';
Obtenha um array de nomes de domínio desta string, colocando neste array o nome do domínio e sua extensão em grupos de captura diferentes.