我想用JavaScript创建一个String.replaceAll()方法,我认为使用RegEx是最简单的方法,但是我不知道如何将一个变量传递给RegEx,我已经可以这样做了,它将把“B”的所有实例替换为“A”。
"ABABAB".replace(/B/g, "A");
但我想做这样的事:
String.prototype.replaceAll = function(replaceThis, withThis) {
this.replace(/replaceThis/g, withThis);
};
但显然这只会替换文本“replaceThis”...所以如何将此变量传递给我的RegEx字符串?
发布于 2018-08-22 14:53:18
不是使用/regex/g
语法,你可以构造一个新的RegExp对象:
var replace = "regex";
var re = new RegExp(replace,"g");
可以通过这种方式动态创建正则表达式对象:
"mystring".replace(re, "newstring");
https://stackoverflow.com/questions/-100002349
复制相似问题