任何人都可以帮我构建一个reg表达式来替换父字符串中的子字符串(带有特殊字符)。这是我的示例字符串
var sample = "Logic @@Current Month (MM) -- @@Current Month (MM)";
var replace = "@@MM";
在这种情况下,我想用'@@ MM'替换'@@ Current Month(MM)'的所有出现。
我写了类似的东西
var reg = new RegExp("@@Current Month (MM)", "g");
sample = sample.replace(reg, "@@MM");
它失败,因为替换内容包括'('和')'。任何人都可以帮我重写一次吗?
提前致谢
答案 0 :(得分:2)
转义括号,因为它在正则表达式中具有特殊含义(Capturing group)。
var reg = new RegExp("@@Current Month \\(MM\\)", "g");
sample = sample.replace(reg, "@@MM");
// or
sample = sample.replace(/@@Current Month \(MM\)/g, "@@MM");
var sample = "Logic @@Current Month (MM) -- @@Current Month (MM)";
var reg = new RegExp("@@Current Month \\(MM\\)", "g");
console.log(sample.replace(reg, "@@MM"));
console.log(sample.replace(/@@Current Month \(MM\)/g, "@@MM"));