Méthode exec

La méthode exec effectue une recherche dans une chaîne selon une expression régulière donnée. Le résultat retourné est la sous-chaîne trouvée et ses groupes de capture. De plus, chaque appel ultérieur de cette méthode commencera la recherche à partir de l'endroit où la sous-chaîne trouvée précédemment s'est terminée. Si aucune correspondance n'est trouvée - null est retourné.

Syntaxe

javascriptexpression_régulière.test(chaîne);

Exemple

Vérifions le fonctionnement de la méthode :

javascriptlet str = '12 34 56';
let reg = /\d+/g;

let res1 = reg.exec(str);
console.log(res1);

let res2 = reg.exec(str);
console.log(res2);

let res3 = reg.exec(str);
console.log(res3);

let res4 = reg.exec(str);
console.log(res4);

Résultat de l'exécution du code :

javascript[12]
[34]
[56]
null

Exemple

Utilisons la méthode dans une boucle :

javascriptlet str = '12 34 56';
let reg = /\d+/g;

let res;
while (res = reg.exec(str)) {
  console.log(res);
}

Résultat de l'exécution du code :

javascript[12]
[34]
[56] 

Exemple

Les correspondances trouvées peuvent être décomposées en groupes de capture :

javascriptlet str = '12 34 56';
let reg = /(\d)(\d)/g;

let res;
while (res = reg.exec(str)) {
  console.log(res);
}

Résultat de l'exécution du code :

javascript[12, 1, 2]
[34, 3, 4]
[56, 5, 6] 

Exemple

À l'aide de la propriété lastIndex on peut définir la position à partir de laquelle commencer la recherche :

javascriptlet str = '12 34 56';

let reg = /\d+/g;
reg.lastIndex = 2;

let res1 = reg.exec(str)
console.log(res1);

let res2 = reg.exec(str)
console.log(res2);

Résultat de l'exécution du code :

javascript[34]
[56]

Exemple

À l'aide du modificateur y on peut figer la position de début de recherche :

javascriptlet str = '12 34 56';

let reg = /\d+/y;
reg.lastIndex = 2;

let res1 = reg.exec(str)
console.log(res1);

let res2 = reg.exec(str)
console.log(res2);

Résultat de l'exécution du code :

javascriptnull
[12]

Voir aussi

  • la méthode test,
    qui vérifie une chaîne
  • la méthode match,
    qui recherche des correspondances dans une chaîne
  • la méthode matchAll,
    qui recherche toutes les correspondances dans une chaîne
  • la méthode replace,
    qui effectue une recherche et un remplacement
  • la méthode search,
    qui effectue une recherche
  • la méthode split,
    qui divise une chaîne