我有一個文件,我想用正則表達式改變它裏面的文本。正則表達式來改變大括號之間的字符串
"code": {
"restore": 1,
"restore_on_startup": true,
},
我想改變
"code": {
和
},
我想是這樣
Regex.Replace(subject, @"?xxx.*?yyy", "Replace");
但是,由於我的文本包含新行,它沒有工作。
我有一個文件,我想用正則表達式改變它裏面的文本。正則表達式來改變大括號之間的字符串
"code": {
"restore": 1,
"restore_on_startup": true,
},
我想改變
"code": {
和
},
我想是這樣
Regex.Replace(subject, @"?xxx.*?yyy", "Replace");
但是,由於我的文本包含新行,它沒有工作。
此正則表達式應該爲你的seample工作,它將取代括號
內的一切Regex.Replace(subject,"(?<=\"code\":\\s{).*?(?=},)", "replace", RegexOptions.Singleline);
「代碼」:{ 「恢復」:1, 「restore_on_startup」:真, },
將產生
「代碼」:{取代},
正則表達式基本上是說匹配所有前綴爲"code": {
,後綴爲},
然後用我的替換。您可能需要調整它以適應您的需求。
我建議你一行一行地搜索"code": {
。
發現,從同一行開始尋找}
。直到找到}
(當心第一行code
部分照顧,因爲有可能是code
前}
)
轉到存儲與List<string> Add
所有行。
之後,連接你在單個字符串中找到的所有行,進行替換。 從文件中刪除所有這些行並添加新形成的字符串。
感謝您的提示。如果我無法使用Json解析器,我會嘗試這個。 – digiogi
使用
(.|\\r|\\n)*?
,而不是
.*?
,或者使用多屬性的RegexOptions類
正則表達式是錯誤的工具。使用JSON解析器。 –
你能指導我解析Json嗎? Json解析器和關於我的問題的示例教程將非常棒。 – digiogi