using System;
using System.Text.RegularExpressions;
public class Example
{
public static void Main()
{
string pattern = @"([^\s:,]+)(?#get field)
:[ ]*(?#get separator)
([^,\{\}\n\[\]\s][^,\n]*)(?#get value)";
string input = @"{
field-1: ""field value 1"",
field2:""field 2"",""fieldThree"": ""value field param {three} "",
""subobject"":{
""subfield1"":1.1,
""sub-field-2"":""subval [1.2]"",
""sub-subobject"":{
""sub_subfield1"":""sub sub field 1 ~"",
""sub_subfield2"":""sub sub field 2 !@#$%/""
}
},
""array"":[
{ objectA:01, objectAA:02 },
{ objectB:01, objectBB:02 }
]
}";
RegexOptions options = RegexOptions.IgnorePatternWhitespace;
foreach (Match m in Regex.Matches(input, pattern, options))
{
Console.WriteLine("'{0}' found at index {1}.", m.Value, m.Index);
}
}
}
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