Une paire de parenthèses (sans un? Comme premier caractère, indiquant un autre comportement) capturera le contenu d'un groupe.
Dans votre exemple, le premier élément de la matrice correspond à la totalité de la correspondance et les éléments suivants correspondent aux correspondances de groupe.
Il est peut-être plus clair si votre code était quelque chose comme:
var g = "123456".match(/.(.).(.)./);
Cela correspondra cinq caractères, plaçant les deuxième et quatrième en groupes 1 et 2 respectivement, de sorte sortie 12345,2,4
Si vous voulez un regroupement pur sans capturer le contenu, utilisez la syntaxe (?:...)
, la partie ?:
indiquant un groupe non-capturant. (Il y a plusieurs choses de groupe variées, comme lookaheads et autres fun stuff.)
Laissez-moi savoir si cela est clair, ou serait une aide supplémentaire d'explication?
Je ne sais pas, mais ça me rend nerveux et moite! –