簡體   English   中英

使用Regex [JS]在雙引號中轉義雙引號

[英]Escape double quotes within double quotes with Regex[JS]

我有一個JSON字符串: '{"place": {"address": "Main Street, \\"The House\\""}}'

在使用JSON.parse()解析之前,我必須確保雙引號中的雙引號正確轉義。

我試圖提出與“ The House”匹配的正則表達式,但失敗了。

關於如何獲得預期結果的任何想法?

借助於積極的超前斷言,這將是可能的。

 var s = '{"place": {"address": "Main Street, "The House""}}'; alert(s.replace(/"((?:"[^"]*"|[^"])*?)"(?=[:}])/g, function(m,group) { return '"' + group.replace(/"/g, '\\\\"') + '"' })) 

要么

 var s = '{"place": {"address": "Main Street, "The House"", "country": "United Kingdom"}}'; alert(s.replace(/"((?:"[^"]*"|[^"])*?)"(?=[:},])(?=(?:"[^"]*"|[^"])*$)/gm, function(m,group) { return '"' + group.replace(/"/g, '\\\\"') + '"' })) 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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