using System;
using System.Text.RegularExpressions;
public class Example
{
public static void Main()
{
string pattern = @"^(?P<ip>.*?) - - \[(?P<date>.*?)(?= ) (?P<timezone>.*?)\] \""(?P<request_method>.*?) (?P<path>.*\.php.*?)(?P<request_version> HTTP/.*)?\"" (?P<status>(301|404)?) (?P<length>.*?) \""(?P<referrer>.*?)\"" \""(?P<user_agent>.*?)\""$";
string input = @"66.249.69.152 - - [21/Apr/2019:00:17:11 +0300] ""GET /assets/files/xt9jrjx/xvzbuoq.php?uonaemsxx=top-news-widgets HTTP/1.1"" 404 3713 ""-"" ""Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)""";
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