2010-11-02 6 views
4

Cela peut être facile pour ceux qui jouent avec des expressions régulières.Comment combiner des expressions régulières en javascript?

str = "Here is 'sample' test"; 
str = str .replace(new RegExp('"', 'g'), ''); 
str = str .replace(new RegExp("'", 'g'), ''); 

Comment combiner la ligne 2 et 3, je veux combiner des expressions régulières new RegExp('"', 'g') et new RegExp("'", 'g') dans une expression régulière, cela fera en une seule ligne. Merci d'avance.

+0

ce code pour supprimer les guillemets simples et doubles de la chaîne. – Dev

Répondre

2

Essayez:

str = str.replace(new RegExp('["\']', 'g'), ''); 
8
str = str.replace(/"|'/g, '') 
+2

Le littéral regexp n'obtient pas assez d'amour. Vive pour moins échapper! – fforw

-1
str = "Here is 'sample' test".replace(new RegExp('"', 'g'), '').replace(new RegExp("'", 'g'), ''); 

Un exemple qui est fondamentalement la même que la vôtre, sauf qu'il utilise de méthodes enchaînées.

0

Vous pouvez simplement utiliser une classe de caractères pour cela, afin de faire correspondre les guillemets simples et doubles que vous pouvez utiliser ['"].

Dans une expression rationnelle complète, vous devrez cependant échapper à l'une des citations.

var str = "here is 'sample' test"; 
str = str.replace(/["']/g, ''); 
0

similaires à Andrew's solution:

str.replace(/"|'/, 'g') 

Et si vous cherchant une bonne explication, puis cela a été discuté sur une autre menace où Alan Moore explique bien. Read here.

Questions connexes