2016-11-16 4 views
2

Я создал следующий RegExp объект:JavaScript RegExp не работает в IE11 и работает в Chrome

RegExp(/_if|_elseif|_else|_while|_store/, "g") 

Мне нужно, чтобы соответствовать любой из строк трубы DELIM. Вышеуказанный метод работает в хроме. Но IE11 выдает ошибку, говорящую о синтаксической ошибке.

ответ

6

Это потому, что RegExp конструктор в IE11 принимает только строку в качестве первого аргумента, а не регулярное выражение буквального:

RegExp("_if|_elseif|_else|_while|_store", "g") 
    ^       ^

В качестве альтернативы, вы можете просто добавить g флаг в конце вашего литерал регулярной выражения и вообще отказаться от нотации конструктора:

/_if|_elseif|_else|_while|_store/g 
Смежные вопросы