⊗jsSpREME 124 of 294 menu

La méthode exec dans les expressions régulières JavaScript

La méthode exec effectue une recherche dans une chaîne. Elle renvoie la sous-chaîne trouvée et ses groupes de capture. Chaque appel ultérieur de cette méthode commencera la recherche à partir de l'endroit où la précédente sous-chaîne trouvée s'est terminée.

Regardons un exemple. Supposons que nous ayons la chaîne suivante :

let str = '12 34 56';

Supposons que nous ayons l'expression régulière suivante :

let reg = /\d+/g;

Appelons séquentiellement notre méthode pour notre chaîne :

let res1 = reg.exec(str); console.log(res1[0]); // 12 let res2 = reg.exec(str); console.log(res2[0]); // 34 let res3 = reg.exec(str); console.log(res3[0]); // 56

Après trois appels, comme il n'y a plus de correspondances dans notre chaîne avec l'expression régulière, le prochain appel de la méthode renverra null :

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

Cette particularité de la méthode est pratique à utiliser dans une boucle :

let str = '12 34 56'; let reg = /\d+/g; let res; while (res = reg.exec(str)) { console.log(res); // [12], [34], [56] }

Il est possible de trouver non seulement la correspondance, mais aussi de la décomposer en groupes de capture :

let str = '12 34 56'; let reg = /(\d)(\d)/g; let res; while (res = reg.exec(str)) { console.log(res); // [12, 1, 2], [34, 3, 4], [56, 5, 6] }

Soit la chaîne suivante :

let str = '12:37:57 15:48:58 17:59:59';

Trouvez-y toutes les sous-chaînes avec l'heure et pour chaque correspondance trouvée, décomposez les heures, les minutes et les secondes en groupes de capture.

Français
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Nous utilisons des cookies pour le fonctionnement du site, l'analyse et la personnalisation. Le traitement des données est effectué conformément à la Politique de confidentialité.
accepter tout personnaliser refuser