JavaScript RegExp无法在IE11中运行并在Chrome中运行

Shy*_*r R 3 javascript regex internet-explorer-11

我创建了以下RegExp对象:

RegExp(/_if|_elseif|_else|_while|_store/, "g")
Run Code Online (Sandbox Code Playgroud)

我需要匹配任何管道分隔字符串.上述方法适用于chrome.但IE11抛出错误说一些语法错误.

Jam*_*lly 11

那是因为RegExpIE11中的构造函数只接受一个字符串作为其第一个参数,而不是正则表达式文字:

RegExp("_if|_elseif|_else|_while|_store", "g")
       ^                               ^
Run Code Online (Sandbox Code Playgroud)

或者,您可以简单地将g标志添加到正则表达式文字的末尾,并完全删除构造函数表示法:

/_if|_elseif|_else|_while|_store/g
Run Code Online (Sandbox Code Playgroud)