我创建了带有变量的正则表达式,该变量是动态传递的。
new RegExp("(" + variable_name + ":\\((.*?)\\))");
完美生成
/(ABC:\((.*?)\))/
(如果variable_name是ABC)但是,如果我通过一个选项
new RegExp("(" + variable_name + ":\\((.*?)\\))") + "g"
,它给我字符串格式的正则表达式
"/(ABC:\((.*?)\))/g"
并且match()函数失败。有没有什么好方法可以在不将表达式转换为字符串的情况下传递选项。
最佳答案
您需要在括号中包含g
(全局修饰符)。
new RegExp("(" + variable_name + ":\\((.*?)\\))", "g");