无效的正则表达式未终止的字符类

时间:2015-11-11 12:54:27

标签: javascript regex

function replaceAll(str, find, replace) {
     return str.replace(new RegExp(find, 'g'), replace);
}
var data = ':['
data = replaceAll(data, ':\[', "/\\");

返回错误: 无效的正则表达式:/:[/:未终止的字符类

我看过其他与此有关的帖子是为了逃避'[',但我已经这样做了,但它不起作用。

显然我在这里做错了,我对RegEx的事情并不熟悉,所以有人帮忙吗?

2 个答案:

答案 0 :(得分:2)

更改您的输入,如下所示

data = replaceAll(data, ':\\[', "/\\");

将它放在RegExp构造函数中时,需要再次转义反斜杠。

答案 1 :(得分:2)

你需要加倍转义,因为\也是Javascript文字中的转义:

data = replaceAll(data, ':\\[', "/\\");