我想在 JavaScript 中创建一个 String.replaceAll()
方法,我认为使用正则表达式是最简洁的方法。但是,我不知道如何将变量传递给正则表达式。我已经可以这样做了,它将用 "B"
替换 "A"
的所有实例。
"ABABAB".replace(/B/g, "A");
但我想做这样的事情:
String.prototype.replaceAll = function(replaceThis, withThis) {
this.replace(/replaceThis/g, withThis);
};
但显然这只会替换文本 "replaceThis"
……那么我如何将此变量传递给我的正则表达式字符串?
原文由 JC Grubbs 发布,翻译遵循 CC BY-SA 4.0 许可协议
您可以构造一个新的 RegExp 对象,而不是使用
/regex\d/g
语法:您可以通过这种方式动态创建正则表达式对象。然后你会做: