【发布时间】:2015-10-07 18:08:42
【问题描述】:
我有一个字符串,其中可能包含双引号。我知道我可以通过将“替换为\”来转义字符串,例如:
myString.value.replace(/\"/g, "\\\"");
但是这样做会产生另一个问题,如果某些双引号已经被转义。例如,如果我的字符串中已经有 \",运行它会将其更改为 \",这是我不想要的。
有没有办法忽略已经转义的双引号,只替换那些不是的?
【问题讨论】:
-
如果你有
\\",第一个\是否转义第二个,所以"没有转义,因此应该被替换? -
不要使用正则表达式来解析可能转义的引号。这是一个上下文无关的问题,应该用一个简单的上下文无关解析器来解决。见stackoverflow.com/questions/632475/…
标签: javascript regex