using System;
using System.Text.RegularExpressions;
public class Example
{
public static void Main()
{
string pattern = @".*\d\s(\d+-\d+-\d+T\d+:\d+:\d+)(\+\d+:\d+)\s.*?\s(\d+,\d+\/\d+\/\d+) .*? .*? .*? (\d+:\d+:\d+),\d+,THREAT,(url),(\d+,\d+\/\d+\/\d+ \d+:\d+:\d+),(\d+\.\d+\.\d+\.\d+),.*";
string input = @"<14>1 2017-07-17T12:06:14+00:00 PA-VM 1,2017/07/17 - - - 05:11:16,007055000020053,THREAT,url,1,2017/07/17 05:11:16,10.10.201.182,13.107.4.50,10.10.6.64,13.107.4.50,Segmented_to_PVT,,,ms-update,vsys1,User Zone,PUB Zone,ethernet1/1,ethernet1/3,Log_Forwarding_Profile,2017/07/17 05:11:16,41324,1,56881,80,3969,80,0x40b000,tcp,alert,""au.download.windowsupdate.com/c/msdownload/update/software/secu/2017/07/windows10.0-kb4025339-x64_5_630b3945c0f68f2e3de0d8779d1e1e6c036e19ca.psf"",(9999),computer-and-internet-info,informational,client-to-server,437956,0x0,10.0.0.0-10.255.255.255,United States,0,,0,,,3,,,AppThreat-0-0,0x0,,,,,,0,0,0,0,0,,PA-VM,,,,get,0,,0,,N";
foreach (Match m in Regex.Matches(input, pattern))
{
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