我想在 JavaScript 中创建一个 String.replaceAll()
方法,我认为使用正则表达式是最简洁的方法。但是,我不知道如何将变量传递给正则表达式。我已经可以执行此操作,将 "B"
的所有实例替换为 "A"
。
"ABABAB".replace(/B/g, "A");
但我想做这样的事情:
String.prototype.replaceAll = function(replaceThis, withThis) {
this.replace(/replaceThis/g, withThis);
};
但显然这只会替换文本“replaceThis”
...那么我如何将此变量传递到我的正则表达式字符串中?
最佳答案
您可以构造一个新的 RegExp,而不是使用 /regex\d/g
语法。对象:
var replace = "regex\\d";
var re = new RegExp(replace,"g");
您可以通过这种方式动态创建正则表达式对象。然后你会做:
"mystring1".replace(re, "newstring");
关于javascript - 如何在正则表达式中使用变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28919869/