我尝试将[[
替换为${
。
var str = "it is [[test example [[testing";
var res = str.replace(/[[[]/g, "${");
我收到结果"it is ${${test example ${${testing"
,但我想要结果"it is ${test example ${testing"
。
答案 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);