簡體   English   中英

javascript轉義反斜杠而不是反斜杠引號(轉義引號)

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM