Détails
Comment utiliser une variable dans une expression régulière ?
Je voudrais créer une méthode String.replaceAll()
en JavaScript et je pense que l'utilisation d'une expression rationnelle serait le moyen le plus simple de le faire. Cependant, je n’arrive pas à trouver comment passer une variable à une regex. Je peux déjà faire ceci qui remplacera toutes les instances de " "B"" par " "A"
".
"ABABAB".replace(/B/g, "A");
Mais je veux faire quelque chose comme ceci :
String.prototype.replaceAll = function(replaceThis, withThis) {
this.replace(/replaceThis/g, withThis);
};
Mais il est évident que cela ne remplacera que le texte "replaceThis""`...alors comment puis-je passer cette variable dans ma chaîne regex ?
1238
3
Au lieu d'utiliser la syntaxe
/regex/g
, vous pouvez construire un nouvel objet RegExp :Vous pouvez créer dynamiquement des objets regex de cette façon. Vous ferez alors :
Ceci :
est équivalent à ceci :
Voir .