如何替换' [['与' $ {'在javascript中

时间:2015-08-26 11:19:56

标签: javascript regex

我尝试将[[替换为${

var str = "it is [[test example [[testing";
var res = str.replace(/[[[]/g, "${");

我收到结果"it is ${${test example ${${testing",但我想要结果"it is ${test example ${testing"

4 个答案:

答案 0 :(得分:5)

你的正则表达式不正确。

[[[]

将匹配一两个 [,并将[替换为${

请参阅Demo不正确的正则表达式。

[是正则表达式中的特殊符号。所以,为了匹配文字[, 您需要在[之前regex前进\。没有它[被视为字符类。

var str = "it is [[test example [[testing";
var res = str.replace(/\[\[/g, "${");
//                     ^^^^

document.write(res);

答案 1 :(得分:4)

你想逃避[使用\

var res = str.replace(/\[\[/g, "${");

答案 2 :(得分:2)

转义字符问题。 在\之前使用[

var str = "it is [[test example [[testing";
var res = str.replace(/\[\[/g, "${");

答案 3 :(得分:2)

如果您不想使用regex

var res = str.split('[[').join('${');

示例:

var str = "it is [[test example [[testing";
var res = str.split('[[').join('${');

document.write(res);