Bonjour

Découverte des regex aujourd'hui..
Est-ce que quelqu'un peut me dire pourquoi le regex1 fonctionne et pas le regex2 ? J'avoue, je bloque

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
var str = "int top; int left; int width; int top , left, width";
 
var regex1 = /top\s*,+\s*left\s*,+\s*width/;
var regex2 = new RegExp("top\s*,+\s*left\s*,+\s*width");
 
console.log(str.split(regex1).join("__VA_ARGS__"));
console.log(str.split(regex2).join("__VA_ARGS__"));
Merci !

---
EDIT

Trouvé : tous les antislahs doivent être doublés dans la string qui sert au constructeur :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
var regex2 = new RegExp('top\\s*,+\\s*left\\s*,+\\s*width');