表达不起作用

时间:2014-04-17 12:35:18

标签: javascript regex

我有这个表达:

s.replace(/([.*+?^=!:${}()|[\]\/\\])/g, '\\$1');

当s以'?'开头时它给出了SyntaxError:invalid quantifier

如何修改表达式?

1 个答案:

答案 0 :(得分:0)

你的表达没有错。 我只是用javascript进行了测试以确定,即使以s开头,它也没有问题。

以下代码只是显示一条警告说" \?testing \ .123":

<script>
    var s = "?testing.123";
    var r = s.replace(/([.*+?^=!:${}()|[\]\/\\])/g, '\\$1');
    alert(r);
</script>

我认为您需要提供更多信息,并尝试忽略您当前对导致错误的原因的假设。 当它失败时,它将有助于知道它是什么。以及你之前和之后用它做什么。