Javascript: alle regexp resultaten

Vandaag werd de volgende vraag gesteld:

Hoe zijn het snelst alle regexp resultaten uit een string te halen?

Normaliter “misbruik” ik hier de replace methode voor:

var results2 = new Array();
str.replace(exp, function(all, number) { 
    results2.push(number);
});

Echter is het while statement ook goed bruikbaar:

var results = new Array();
var match;
while (match = exp.exec(str)) {
    results.push(match[1]);
}

Maar wat is nou sneller? Dat vraagt om een benchmark!

Continue reading “Javascript: alle regexp resultaten”