2015-03-31 3 views
0

У меня есть эта строка замены регулярное выражение:Использование переменных в регулярном выражении

var res = myString.match(/[.,]/g); 

Теперь я хочу, чтобы сохранить шаблон в переменной:

var usedSeparator =".,"; 
var regExp = new RegExp("["+usedSeparator+"]","g"); 
var res = myString.match(regExp); 

Но это не работает. Как я могу это сделать?

+0

вам нужно бежать ". потому что он имеет особое значение в регулярном выражении. также вам нужно избежать escape-символа '\', используемого для escape-точки, потому что он имеет особое значение в строке js :) –

+1

@ JánStibila Вам не нужно скрывать '.', когда он находится внутри класса символов. – beerbajay

+0

проклятый, ты прав: D –

ответ

0

Возможно, вы намереваетесь использовать split(). Здесь он работает:

myString = "I have seen it, but I forgot the name." 
 
usedSeparator =".,"; 
 
regExp = new RegExp("["+usedSeparator+"]","g"); 
 
res = myString.split(regExp); 
 
alert(res);

Смежные вопросы