我在RegExp in javascript上阅读
我看到了两种创建新RegExp的方法:/ab+c/i;
new RegExp('ab+c', 'i');
new RegExp(/ab+c/, 'i');
但是我想这样创建新的RegExp:
var re = new RegExp(`\d+${variable}`, 'g');
我尝试过,但是没有用。我该怎么办?
答案 0 :(得分:3)
用\\
将RegExp character class放到template literal中,例如逃脱:
\d
,写\\d
\w
,写\\w
\s
,写\\s
...等等。
let variable = 1;
const re = new RegExp(`\\d+${variable}`, 'g');
console.log(re);
答案 1 :(得分:1)
您可以将整个表达式编写为字符串(可以将变量的值连接到该字符串),然后使用eval()
将其更改为有效的javascript表达式:
var x = "A";
var re = eval("new RegExp('\d+$" + x + "', 'g')");