using System;
using System.Text.RegularExpressions;
public class Example
{
public static void Main()
{
string pattern = @"\""ruleGroupId\"":\s*\""(?<ruleGroupId>[^\""]+)\"",[\r\n](.+[\r\n]){2}(\""excludedRules\""\:\s\[)([\r\n].+)[\r\n]\""exclusionType\""\:\s*\""(?<exclusionTpe>[^\""]+)";
string input = @"{
""timestamp"": 1646229254523,
""formatVersion"": 1,
""webaclId"": ""arn:aws:wafv2:us-east-1:111111:regional/webacl/alb-stage-web-acl/26ac170c-03c4-4fd7-8fab-86e346789fef"",
""terminatingRuleId"": ""Default_Action"",
""terminatingRuleType"": ""REGULAR"",
""action"": ""ALLOW"",
""terminatingRuleMatchDetails"": [],
""httpSourceName"": ""ALB"",
""httpSourceId"": ""182116744736-app/ALB-Stage/fcc1f5f9483b035e"",
""ruleGroupList"": [
{
""ruleGroupId"": ""AWS#AWSManagedRulesAmazonIpReputationList"",
""terminatingRule"": null,
""nonTerminatingMatchingRules"": [],
""excludedRules"": null
},
{
""ruleGroupId"": ""AWS#AWSManagedRulesBotControlRuleSet"",
""terminatingRule"": null,
""nonTerminatingMatchingRules"": [],
""excludedRules"": null
},
{
""ruleGroupId"": ""AWS#AWSManagedRulesCommonRuleSet"",
""terminatingRule"": null,
""nonTerminatingMatchingRules"": [],
""excludedRules"": [
{
""exclusionType"": ""EXCLUDED_AS_COUNT"",
""ruleId"": ""SizeRestrictions_BODY""
}
]
},
{
""ruleGroupId"": ""AWS#AWSManagedRulesKnownBadInputsRuleSet"",
""terminatingRule"": null,
""nonTerminatingMatchingRules"": [],
""excludedRules"": null
}
],
""rateBasedRuleList"": [],
""nonTerminatingMatchingRules"": [],
""requestHeadersInserted"": null,
""responseCodeSent"": null,
""httpRequest"": {
""clientIp"": ""67.218.14.10"",
""country"": ""US"",
""headers"": [
{
""name"": ""host"",
""value"": ""sample.com""
},
{
""name"": ""content-length"",
""value"": ""50362""
},
{
""name"": ""cache-control"",
""value"": ""max-age=0""
},
{
""name"": ""sec-ch-ua"",
""value"": ""\"" Not A;Brand\"";v=\""99\"", \""Chromium\"";v=\""98\"", \""Microsoft Edge\"";v=\""98\""
},
{
""name"": ""sec-ch-ua-mobile"",
""value"": ""?0""
},
{
""name"": ""sec-ch-ua-platform"",
""value"": ""\""Windows\""
},
{
""name"": ""origin"",
""value"": ""https://sample.com""
},
{
""name"": ""upgrade-insecure-requests"",
""value"": ""1""
},
{
""name"": ""dnt"",
""value"": ""1""
},
{
""name"": ""content-type"",
""value"": ""multipart/form-data; boundary=----WebKitFormBoundaryuXOFvh7iQjJkEJHm""
},
{
""name"": ""user-agent"",
""value"": ""Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.102 Safari/537.36 Edg/98.0.1108.62""
},
{
""name"": ""accept"",
""value"": ""text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9""
},
{
""name"": ""sec-fetch-site"",
""value"": ""same-origin""
},
{
""name"": ""sec-fetch-mode"",
""value"": ""navigate""
},
{
""name"": ""sec-fetch-user"",
""value"": ""?1""
},
{
""name"": ""sec-fetch-dest"",
""value"": ""document""
},
{
""name"": ""referer"",
""value"": ""https://sample.com/DischargeDetail.aspx""
},
{
""name"": ""accept-encoding"",
""value"": ""gzip, deflate, br""
},
{
""name"": ""accept-language"",
""value"": ""en-US,en;q=0.9""
},
{
""name"": ""cookie"",
""value"": ""_ga=GA1.3.84334902.1642521795; __RequestVerificationToken=-8kinKddCjKCZTws-wPmXDZTFg39urggswPnYm5Y15UwfIjspHqTj1hOPAXIaRPHL2cupyt2vO4Gb5QUExZGd6e5djS0v81kxt2pH22Ow9XiJYr2NPWB_BdQb-VmCUHVXbiVZZ5NwTfGDrXd2O0uD_gba4fM3PhkQUO5f9zs5381; _gid=GA1.2.249665053.1645964709; _ga_33R15ZN4N1=GS1.1.1645965393.6.0.1645965397.56; _ga=GA1.2.84334902.1642521795; ASP.NET_SessionId=1fnikipv2poi14r3doy4kb2w""
}
],
""uri"": ""/ReleaseRequest.aspx"",
""args"": "",
""httpVersion"": ""HTTP/2.0"",
""httpMethod"": ""POST"",
""requestId"": ""1-621f7706-5e8f4ea33e2dc0cc66b98797""
}
}";
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