How do you use a variable in a regular expression?

javascript, regex

Solution

Instead of using the `/regex\d/g` syntax, you can construct a new RegExp object:

var replace = "regex\\d";
var re = new RegExp(replace,"g");

You can dynamically create regex objects this way. Then you will do:

"mystring1".replace(re, "newstring");

Problem

I would like to create a `String.replaceAll()` method in JavaScript and think using a regex would be the most terse way to do it. However, I can't figure out how to pass a variable into a regex. I can do this already which will replace all the instances of `"B"` with `"A"`. ``` "ABABAB".replace(/B/g, "A"); ``` But I want to do something like this: ``` String.prototype.replaceAll = function(replaceThis, withThis) { this.replace(/replaceThis/g, withThis); }; ``` But obviously, this will only replace the text `"replaceThis"`...so how do I pass this variable into my regex string?

Original source

Related problems