matchAll global en expresiones regulares de JavaScript

El método matchAll devuelve todas las coincidencias en forma de objeto iterable, cada elemento del cual contiene un array con lo encontrado y sus grupos de captura. El método solo puede ser llamado con el modificador g.

Veamos un ejemplo. Supongamos que tenemos la siguiente cadena:

javascriptlet str = '12 34 56';

Encontremos todos los pares de números y dividamos sus dígitos en grupos de captura:

javascriptlet matches = str.matchAll(/(\d)(\d)/g);

Recorramos el objeto iterable obtenido con un bucle y mostremos las coincidencias encontradas:

javascriptfor (let match of matches) {
  console.log(match); // [12, 1, 2], [34, 3, 4], [56, 5, 6] 
}
Задание 1

Se da la siguiente cadena:

javascriptlet str = '12:37 15:48 17:59';

Encuentre en ella todas las subcadenas con la hora y para cada una encontrada, descomponga las horas y los minutos en grupos de captura.

Задание 2

Se da la cadena:

javascriptlet str = 'site.ru sss site.com zzz site.net';

Obtenga un array de nombres de dominio de esta cadena, poniendo en este array el nombre del dominio y su zona en diferentes grupos de captura.