我有一个包含多次出现的 ],[
的字符串,我想将其替换为 ]@[
无论我怎么尝试,我都做不好。
var find = '],[';
var regex = new RegExp(find, "g");
mytext.replace(regex, ']@[')
没用
mytext = mytext.replace(/],[/g,']@[');
没用
知道我哪里出错了吗?
最佳答案
答案是 [ 和 ] 是正则表达式上下文中的特殊字符,因此需要通过\进行转义,即匹配 ] 你写 [ 当你使用方便的 Javascript 正则表达式速记时,你可以在下面的代码中找到:
var regex= /\],\[/g
var result = mytext.replace(regex, ']@[')
请检查以下 jsFiddle:http://jsfiddle.net/JspRR/4/
如您所见,重要的一点是在构造正则表达式时转义 ] 和 [。
现在,如果您不想使用 Javascript 正则表达式速记,您仍然需要进行相同的转义。但是,在这种情况下,\字符将需要自行转义( ... 自己转义!)
var regex = new RegExp("\\],\\[", "g");
var result = mytext.replace(regex, ']@[')
关于Javascript替换,带逗号的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13628863/