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
expression_régulière.test(chaîne);
Exemple
Vérifions le fonctionnement de la méthode :
let 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 :
[12]
[34]
[56]
null
Exemple
Utilisons la méthode dans une boucle :
let 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 :
[12]
[34]
[56]
Exemple
Les correspondances trouvées peuvent être décomposées en groupes de capture :
let 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 :
[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 :
let 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 :
[34]
[56]
Exemple
À l'aide du modificateur y
on peut figer la position
de début de recherche :
let 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 :
null
[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