2017-02-09 44 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" 
相關問題