首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在正则表达式中使用变量?

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

Stack Overflow用户
提问于 2018-08-22 05:44:15
回答 2查看 0关注 0票数 0

我想用JavaScript创建一个String.replaceAll()方法,我认为使用RegEx是最简单的方法,但是我不知道如何将一个变量传递给RegEx,我已经可以这样做了,它将把“B”的所有实例替换为“A”。

代码语言:txt
复制
"ABABAB".replace(/B/g, "A");

但我想做这样的事:

代码语言:txt
复制
String.prototype.replaceAll = function(replaceThis, withThis) {
    this.replace(/replaceThis/g, withThis);
};

但显然这只会替换文本“replaceThis”...所以如何将此变量传递给我的RegEx字符串?

EN

回答 2

Stack Overflow用户

发布于 2018-08-22 14:40:20

"ABABAB".replace(/B/g, "A");

和往常一样:除非必须使用regex,否则不要使用regex。对于一个简单的字符串替换:

代码语言:txt
复制
'ABABAB'.split('B').join('A')
票数 0
EN

Stack Overflow用户

发布于 2018-08-22 14:53:18

不是使用/regex/g语法,你可以构造一个新的RegExp对象:

代码语言:txt
复制
var replace = "regex";
var re = new RegExp(replace,"g");

可以通过这种方式动态创建正则表达式对象:

代码语言:txt
复制
"mystring".replace(re, "newstring");
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/-100002349

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档