Quelques choses:
- Si vous utilisez le constructeur
RegExp
, vous ne avez pas besoin des barres obliques, vous confondant peut-être avec la syntaxe de RegExp
littéraux.
- Vous souhaitez faire correspondre la classe de caractères
\W
.
Ce qui suit fonctionnera:
var regex = new RegExp("\\W", "g");
Le constructeur RegExp
accepte une chaîne contenant le motif, notez que vous devriez à double évasion la barre oblique, afin d'obtenir une seule barre oblique et un W ("\W"
) dans la chaîne.
Ou vous pouvez simplement utiliser la notation littérale:
var regex = /\W/g;
Recommandé lire:
Correctamundo. Merci. Je vais accepter dès que la limite de temps est écoulée – Matrym
Question subsidiaire - puis-je simplement utiliser/\ W/g à l'intérieur remplacer plutôt que de définir une variable regex? – Matrym
@Matrym: Oui, vous pouvez utiliser soit directement dans le remplacement: '.replace (new RegExp (" \\ W "," g ")," _ ")' ou '.replace (/ \ W/g," _ ")'. – Guffa