我有这个表达:
s.replace(/([.*+?^=!:${}()|[\]\/\\])/g, '\\$1');
当s以'?'开头时它给出了SyntaxError:invalid quantifier
如何修改表达式?
答案 0 :(得分:0)
你的表达没有错。 我只是用javascript进行了测试以确定,即使以s开头,它也没有问题。
以下代码只是显示一条警告说" \?testing \ .123":
<script>
var s = "?testing.123";
var r = s.replace(/([.*+?^=!:${}()|[\]\/\\])/g, '\\$1');
alert(r);
</script>
我认为您需要提供更多信息,并尝试忽略您当前对导致错误的原因的假设。 当它失败时,它将有助于知道它是什么。以及你之前和之后用它做什么。