我有regexp
:
var regexp = /(2\d)(\W)/gi
现在我想动态设置它,这意味着值2
可以像这样改变:
var regexp = /(changablevalue\d)(\W)/gi
我试过了:
var regexp = "/(" + changablevalue + "\d)(\W)/gi"
和
var changablevalue = 2
var regexp = /(changablevalue\d)(\W)/gi
但无法让它发挥作用。我在这做错了什么?
答案 0 :(得分:1)
将你的正则表达式传递给RegExp构造函数。
var regex = new RegExp("("+changablevalue + "\\d)(\\W)", "gi")
示例:
> var changablevalue = 2
> var regex = new RegExp("("+changablevalue + "\\d)(\\W)", "gi")
undefined
> console.log(regex)
/(2\d)(\W)/gi
undefined
> regex.test('28.')
true
> regex.test('48.')
false