Salut !

Quelqu'un saurait me dire pourquoi cette instruction ne remplace pas toutes les occurrences de "red", "green" et "blue" ? On dirait que lorsqu'une occurrence en suit une autre elle n'est pas remplacée...

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
var subject = "red black green blue yellow orange red blue pink orange white green";
var pattern = /(?:^|[^\w])(red|green|blue)(?:[^\w]|$)/g;
var result = subject.replace(pattern, "%");
J'aimerais tant que possible éviter d'avoir à faire :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
var result = null;
var replacement = subject;
do {
    result = replacement;
    replacement = result.replace(pattern, "%");
}
while(result != replacement);