27563 shaares
En JavaScript, String.prototype.replace() avec une expression régulière globale et une fonction de rappel peut servir à parcourir les correspondances sans utiliser la chaîne produite. Cette technique permet de filtrer, extraire des données et même alimenter un analyseur lexical ; renvoyer une chaîne vide limite la mémoire gaspillée. Des benchmarks montrent toutefois que, sur V8, elle est généralement plus lente que exec() et se dégrade sur les gros textes. Pour du code neuf, l’auteur privilégie matchAll(), plus lisible et réellement itératif.