Reputation: 1435
I have this regexp
:
var regexp = /(2\d)(\W)/gi
Now I want to set it dynamically, meaning the value 2
can be changed like this :
var regexp = /(changablevalue\d)(\W)/gi
I tried :
var regexp = "/(" + changablevalue + "\d)(\W)/gi"
and
var changablevalue = 2
var regexp = /(changablevalue\d)(\W)/gi
but can't get it to work. What am I doing wrong here?
Upvotes: 0
Views: 49
Reputation: 174706
Pass your regex to RegExp constructor.
var regex = new RegExp("("+changablevalue + "\\d)(\\W)", "gi")
Example:
> 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
Upvotes: 1