using System;
using System.Text.RegularExpressions;
public class Example
{
public static void Main()
{
string pattern = @"(?:(?=(?&V_Obj)){(?=(?:(?&V_KeyVal)(?&Sep_Obj))*?\s*(""jobID""\s*:\s*(?&V_Value)))(?=(?:(?&V_KeyVal)(?&Sep_Obj))*?\s*(""exec""\s*:\s*(?&V_Value)))(?:(?&V_KeyVal)(?&Sep_Obj))+})(?(DEFINE)(?<Sep_Ary>\s*(?:,(?!\s*[}\]])|(?=\])))(?<Sep_Obj>\s*(?:,(?!\s*[}\]])|(?=})))(?<Str>(?>""[^\\""]*(?:\\[\s\S][^\\""]*)*""))(?<Numb>(?>[+-]?(?:\d+(?:\.\d*)?|\.\d+)(?:[eE][+-]?\d+)?|(?:[eE][+-]?\d+)))(?<V_KeyVal>(?>\s*(?&Str)\s*:\s*(?&V_Value)\s*))(?<V_Value>(?>(?&Numb)|(?>true|false|null)|(?&Str)|(?&V_Obj)|(?&V_Ary)))(?<V_Ary>\[(?>\s*(?&V_Value)(?&Sep_Ary))*\s*\])(?<V_Obj>{(?>(?&V_KeyVal)(?&Sep_Obj))*\s*}))";
string substitution = @"{ $1, $2 }";
string input = @"{
""2597401"": [
{
""jobID"": ""2597401"",
""account"": ""TG-CCR120014"",
""user"": ""charngda"",
""pkgT"": {
""pgi/7.2- 5"": {
""libA"": [
""libpgc.so""
],
""flavor"": [
""default""
]
}
},
""startEpoch"": ""1338497979"",
""runTime"": ""1022"",
""execType"": ""user:binary"",
""exec"": ""ft.D.64"",
""numNodes"": ""4"",
""sha1"": ""5a79879235aa31b6a46e73b43879428e2a175db5"",
""execEpoch"": 1336766742,
""execModify"": ""Fri May 11 15:05:42 2012"",
""startTime"": ""Thu May 31 15:59:39 2012"",
""numCores"": ""64"",
""sizeT"": {
""bss"": ""1881400168"",
""text"": ""239574"",
""data"": ""22504""
}
},
{
""jobID"": ""2597401"",
""account"": ""TG-CCR120014"",
""user"": ""charngda"",
""pkgT"": {
""pgi/7.2-5"": {
""libA"": [
""libpgc.so""
],
""flavor"": [
""default""
]
}
},
""startEpoch"": ""1338497946"",
""runTime"": ""33"",
""execType"": ""user:binary"",
""exec"": ""cg.C.64"",
""numNodes"": ""4"",
""sha1"": ""caf415e011e28b7e4e5b050fb61cbf71a62a9789"",
""execEpoch"": 1336766735,
""execModify"": ""Fri May 11 15:05:35 2012"",
""startTime"": ""Thu May 31 15:59:06 2012"",
""numCores"": ""64"",
""sizeT"": {
""bss"": ""29630984"",
""text"": ""225749"",
""data"": ""20360""
}
},
{
""jobID"": ""2597401"",
""account"": ""TG-CCR120014"",
""user"": ""charngda"",
""pkgT"": {
""pgi/7.2-5"": {
""libA"": [
""libpgc.so""
],
""flavor"": [
""default""
]
}
},
""startEpoch"": ""1338500447"",
""runTime"": ""145"",
""execType"": ""user:binary"",
""exec"": ""mg.D.64"",
""numNodes"": ""4"",
""sha1"": ""173de32e1514ad097b1c051ec49c4eb240f2001f"",
""execEpoch"": 1336766756,
""execModify"": ""Fri May 11 15:05:56 2012"",
""startTime"": ""Thu May 31 16:40:47 2012"",
""numCores"": ""64"",
""sizeT"": {
""bss"": ""456954120"",
""text"": ""426186"",
""data"": ""22184""
}
},
{
""jobID"": ""2597401"",
""account"": ""TG-CCR120014"",
""user"": ""charngda"",
""pkgT"": {
""pgi/7.2-5"": {
""libA"": [
""libpgc.so""
],
""flavor"": [
""default""
]
}
},
""startEpoch"": ""1338499002"",
""runTime"": ""1444"",
""execType"": ""user:binary"",
""exec"": ""lu.D.64"",
""numNodes"": ""4"",
""sha1"": ""c6dc16d25c2f23d2a3321d4feed16ab7e10c2cc1"",
""execEpoch"": 1336766748,
""execModify"": ""Fri May 11 15:05:48 2012"",
""startTime"": ""Thu May 31 16:16:42 2012"",
""numCores"": ""64"",
""sizeT"": {
""bss"": ""199850984"",
""text"": ""474218"",
""data"": ""27064""
}
}
]
}";
RegexOptions options = RegexOptions.Multiline;
Regex regex = new Regex(pattern, options);
string result = regex.Replace(input, substitution);
}
}
Please keep in mind that these code samples are automatically generated and are not guaranteed to work. If you find any syntax errors, feel free to submit a bug report. For a full regex reference for C#, please visit: https://msdn.microsoft.com/en-us/library/system.text.regularexpressions.regex(v=vs.110).aspx