为什么正则表达式"(({12}*10)/ 100)".replace(新的RegExp("{12}","g"),值)不起作用?

Bha*_*bhi 0 javascript regex

我的以下正则表达式无效.

"(({12}*10)/100)".replace(new RegExp("{12}",'g'),value)
Run Code Online (Sandbox Code Playgroud)

我想用"值"替换{12}.它正在抛出错误

无效的正则表达式:/ {12} /:没有重复(...)..

有什么问题?

She*_*nar 8

你需要双重转义{}花括号看到:

var value = 50;
var result = "(({12}*10)/100)".replace(new RegExp("\\{12\\}",'g'),value);

console.log(result);
Run Code Online (Sandbox Code Playgroud)

  • 或者更好的是,使用正则表达式文字:`.replace(/\{12 \}/g,value)` (4认同)