Mais lorsqu'on utilise une regexp, l'objet RegExp est peuplé avec le dernier résultat.
Si tu veux récupérer les résultats, ce n'est pas la méthode test(), mais la méthode exec() qu'il faut utiliser. D'un point de vue sémantique, c'est plus propre et ça te renvoi direct un tableau avec les éléments capturés. Et c'est parfaitement documenté et standardisé.
Autre avantage de exec() : tu ne perds pas les résultats. Si il y a deux test() appelés à la suite, on perd les matchs des autres trucs.
/(.*)/.test(maString);UneFonctionQuiFaitAppelAussiARegexpTest();// mais tu ne le sais pas forcément// pouf, les resultats du premier test() sont perdus.
[^] # Re: Il manque une faiblesse !
Posté par Laurent J (site web personnel, Mastodon) . En réponse au journal Réflexions à propos de NodeJS et de Javascript plus globalement. Évalué à 5.
Si tu veux récupérer les résultats, ce n'est pas la méthode test(), mais la méthode exec() qu'il faut utiliser. D'un point de vue sémantique, c'est plus propre et ça te renvoi direct un tableau avec les éléments capturés. Et c'est parfaitement documenté et standardisé.
https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/RegExp/exec
Autre avantage de exec() : tu ne perds pas les résultats. Si il y a deux test() appelés à la suite, on perd les matchs des autres trucs.
Bref, mauvaise utilisation de test().