MatchAll global dans les expressions régulières JavaScript
La méthode matchAll renvoie toutes les correspondances
sous la forme d'un objet itérable,
dont chaque élément
contient un tableau de la correspondance trouvée et de ses groupes de capture.
La méthode ne peut être appelée qu'avec le modificateur g.
Regardons un exemple. Supposons que nous ayons la chaîne suivante :
let str = '12 34 56';
Trouvons toutes les paires de nombres et divisons leurs chiffres dans des groupes de capture :
let matches = str.matchAll(/(\d)(\d)/g);
Parcourons l'objet itérable obtenu avec une boucle et affichons les correspondances trouvées :
for (let match of matches) {
console.log(match); // [12, 1, 2], [34, 3, 4], [56, 5, 6]
}
Soit la chaîne suivante :
let str = '12:37 15:48 17:59';
Trouvez-y toutes les sous-chaînes contenant l'heure et pour chaque correspondance, décomposez les heures et les minutes dans des groupes de capture distincts.
Soit la chaîne :
let str = 'site.ru sss site.com zzz site.net';
Obtenez un tableau des noms de domaine de cette chaîne, en plaçant dans ce tableau le nom de domaine et sa zone dans des groupes de capture différents.