我有一个文件,我想用正则表达式改变它里面的文本。正则表达式来改变大括号之间的字符串
"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