Reg Expression用jQuery中的特殊字符替换子字符串

时间:2016-12-19 07:03:19

标签: javascript jquery regex string

任何人都可以帮我构建一个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");

它失败,因为替换内容包括'('和')'。任何人都可以帮我重写一次吗?

提前致谢

1 个答案:

答案 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"));