[英]javascript escape backslash but not a backslash quote (escaped quote)
我在html數據屬性中嵌入了一些數組數據。 任何引號都已被轉義(\\“)。
["A\A/A\"INC",3]
在我的JavaScript中,我有一個轉義反斜杠的函數
if(typeof dataarray === "string") {
dataarray = dataarray.replace(/\\/g,"\\\\");
}
但后來卻破了,因為我在轉義轉義的引號
["A\\A/A\\"INC",3]
有沒有更好的方法來替換反斜杠而又保持原樣?
非常感謝
使用否定的超前表達式來確保下一個字符不是引號:
dataarray.replace(/\\(?!")/g,"\\\\");
從MDN文檔中 :
x(?!y)
僅當
x
后跟y
時才匹配x
。 例如,//\\d+(?!\\.)/
僅在不帶小數點的/\\d+(?!\\.)/
匹配數字。
/\\d+(?!\\.)/.exec("3.141")
匹配141,但不匹配/\\d+(?!\\.)/.exec("3.141")
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.