在javascript中使用正则表达式中的变量
这个问题在这里已经有了答案:
您应该创建一个特定的正则表达式对象以与.match()
函数一起使用。 这样你就可以用一个字符串创建你的正则表达式,并在创建它时插入该变量:
var changing_value = "put";
var re = new RegExp("bw*" + changing_value + "w*b", "ig");
请注意,忽略大小写( i
)和全局( g
)修饰符被指定为RegExp
构造函数的第二个参数,而不是实际表达式的一部分。 此外,您需要在构造函数中转义字符,因为也是字符串中的转义字符。
另外需要注意的是,在使用Regexp
构造函数时,在表达式的开始和结尾不需要/
delimiters /
。
现在,您可以在调用.match()
使用Regexp对象:
string.match( re )
作为最后一点,我不建议您使用名称string
作为变量名称......正如您从语法突出显示中看到的那样, string
是保留字,并且不建议使用内置类型的名称因为它们可能会导致混淆。
上一篇: Use variable inside the regular expression in javascript
下一篇: How to dynamically create regex to use in .match Javascript?