Gruppi nominati all'interno delle espressioni regolari JavaScript

Ricordiamo come abbiamo utilizzato i gruppi di cattura nella stessa espressione regolare:

javascriptlet res = str.replace(/([a-z])\1/g, '!');

A volte ci sono situazioni in cui è più conveniente fare riferimento a un gruppo di cattura non per il suo numero, ma per il suo nome. Per fare questo dobbiamo dare un nome al gruppo:

javascriptlet res = str.replace(/(?<letter>[a-z])/g, '!');

Ora possiamo fare riferimento a questo gruppo tramite la sintassi \k<name>, in questo modo:

javascriptlet res = str.replace(/(?<letter>[a-z])\k<letter>/g, '!');
Задание 1

Data una stringa:

javascriptlet str = '12:59:59 12:59:12 09:45:09';

Trova tutte le sottostringhe con l'orario, in cui l'ora coincide con i secondi.