using System;
using System.Text.RegularExpressions;
public class Example
{
public static void Main()
{
string pattern = @"caller\""\s*:\s*\{\s*\""id\"":\s*\""(?<callerid>[^\""]+)?\""\,\s*\""version\""\s*:\s*\""(?<callerversion>[^\""]+)?\""";
string input = @"{
""info"":{
""eventSource"":"",
""sourceType"":""I/O"",
""status"":{
""code"":"",
""msg"":"",
""msgError"":""
},
""transactionId"":null,
""traceId"":null,
""timestampStart"":""2019-05-16T21:30:55.174Z"",
""timestampEnd"":""2019-05-16T21:30:55.174Z"",
""companyIDCode"":"",
""channelIDCode"":"",
""branchCode"":"",
""searchFields"":{
""key_3"":""value"",
""key_2"":""value"",
""key_1"":""value""
},
""annotation"":{},
""caller"":{
""id"":""caller_01"",
""version"":""1.2.3"",
""acronym"":""
},
""called"":{
""id"":""called_id"",
""version"":""3.2.1"",
""acronym"":""
},
""storage"":{
""id"":"",
""start"":"",
""end"":""
}
}
},
""headers"":[],
""payLoad"":{
""input"":{
""encoding"":""1024"",
""ccsid"":""1024"",
""data"":""dati_in""
},
""output"":{
""encoding"":""1024"",
""ccsid"":""1024"",
""data"":""dati_out""
}
}
}
";
RegexOptions options = RegexOptions.Multiline;
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