using System;
using System.Text.RegularExpressions;
public class Example
{
public static void Main()
{
string pattern = @"(?<=build\()\s*""(?<jobname>[^""]+)""(?:,\s*(?<paramname>\w+)\s*:\s*(?<paramvalue>\w+|"".+""))+";
string input = @"parallel
(
{
build( ""job2"", parameter3: value3, parameter4: value4, parameter5: value5 )
build( ""job1"", parameter1: value1, parameter2: value2 )
)
}
parallel
(
{
build( ""job3"", parameter6: value6, parameter7: value7, parameter8: value8, parameter9: value9 )
}
)
build(""jobxy"", parameterxy: ""https://abc-xyz.pqrs.com"", parameterxy: valuexy, parameterxy: valuexy)
build( ""jobx"", parameterx: valuex, parameterx: valuex, parameterx: valuex, parameterx: valuex )
build( ""jobxx"", parameterxx: valuexx, parameterxx: valuexx, parameterx: valuex, parameterx: valuex )
build(""jobxy"", parameterxy: ""https://abc-xyz.pqrs.com"", parameterxy: valuexy, parameterxy: valuexy)";
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