JavaScript Correspondance avec .exec ()


Exemple

Match à l'aide de .exec()

RegExp.prototype.exec(string) renvoie un tableau de captures, ou null s'il n'y a pas de correspondance.

var re = /([0-9]+)[a-z]+/;
var match = re.exec("foo123bar");

match.index est 3, l'emplacement (base zéro) de la correspondance.

match[0] est la chaîne de correspondance complète.

match[1] est le texte correspondant au premier groupe capturé. match[n] serait la valeur du n ième groupe capturé.

Boucle à travers les correspondances à l'aide de .exec()

var re = /a/g;
var result;
while ((result = re.exec('barbatbaz')) !== null) {
    console.log("found '" + result[0] + "', next exec starts at index '" + re.lastIndex + "'");
}

Production attendue

trouvé 'a', le prochain exec commence à l'index '2'
trouvé 'a', le prochain exec commence à l'index '5'
trouvé 'a', le prochain exec commence à l'index '8'