javascript - 如何在正则表达式中使用变量?

标签 javascript regex

我想在 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/

相关文章:

javascript - 如何使用 javascript 通过不区分大小写的搜索从 JSON 返回结果?

javascript - Angularjs 中的并发

javascript - 如何禁用 1 个按钮但保持其他按钮启用

javascript - 无法使用 JavaScript 从 Firebase 读取数据

javascript - 正则表达式在第一次匹配后没有进展

python - 在 Python 中匹配 "Chinese+Number"模式的正则表达式

javascript - Chrome 扩展脚本

javascript - 更新 JQuery 中的脚本标签属性

java - 为什么我的单词是一个空字符串,当我用\\s 拆分()我的字符串时

PHP 和正则表达式 - 可选部分