Les groupes de capture dans la méthode match des expressions régulières JavaScript
Comme vous le savez déjà, la sous-chaîne trouvée via la méthode match
se place dans le zéroième élément du tableau
de résultat. Dans les autres éléments de ce
tableau se trouvent ce qu'on appelle les groupes de capture.
Les groupes de capture représentent un moyen de diviser la trouvaille en parties distinctes. Pour les utiliser, il faut mettre entre parenthèses une partie de l'expression régulière. Dans ce cas, dans le tableau de résultat, en plus de la chaîne trouvée, apparaîtra également ce qui correspond à l'expression régulière située dans ces parenthèses.
Essayons en pratique. Supposons que nous ayons une chaîne avec une heure :
let str = '12:34';
Mettons les heures et les minutes de cette heure dans des groupes de capture séparés :
let res = str.match(/(\d+):(\d+)/);
Regardons le résultat :
console.log(res[0]); // '12:34' - la trouvaille
console.log(res[1]); // '12' - 1er groupe
console.log(res[2]); // '34' - 2ème groupe
Une chaîne contenant un domaine est donnée :
let str = 'sss domain.ru zzz';
Trouvez ce domaine et placez son nom dans le premier groupe, et son extension - dans le second.
Une chaîne contenant une date est donnée :
let str = '31.12.2025';
Placez le jour dans le premier groupe, le mois - dans le second, et l'année - dans le troisième.