2017-02-09 73 views
0

我在寻找javascript正则表达式来替换没有反斜线的引号。Javascript正则表达式来替换没有前反斜杠的引号

例如:

'"'.replace(xxx, yyy); -> '\"' 
'\"'.replace(xxx, yyy); -> '\"' 
'\\"'.replace(xxx, yyy); -> '\\\"' 

目前,我做了以下的,但我相信有一个更好的办法。

content = content.replace(/"/g, '\\"'); 
content = content.replace(/\\\\"/g, '\\"'); 
+0

你能给输入和预期结果的例子吗? – MaxZoom

+1

我很想问“为什么你需要这个?”和“你究竟在做什么*试图做什么?”。这是一件非常奇怪的事情,想要做的和漏洞的味道。 –

回答

1

据我了解,你想这个问题只替换那些不与反斜杠字符进行报价。为此,您可以使用下面regex

var str = 'this"quote but not \"this one'; 
 
console.log(str.replace(/(([^\\])(["]))/g, "$2\\$3"));

0

如果要更换所有'"''\"'

然后

var replacedString = 'string with " " quotes'.replace(/"/g,'\\\"');

应该工作。

1
JSON.stringify('abc " def') 

回报

"abc \" \" def" 
相关问题