using System;
using System.Text.RegularExpressions;
public class Example
{
public static void Main()
{
string pattern = @"LOG FORMAT.*\[(.*)\].*#";
string input = @"#KEEP THIS FILE IN THE SAME DIRECTORY AS __INIT.PY__, OTHERWISE IT WON'T WORK
SETTINGS:
FILE TO BE SORTED: ""C:\Temp\xmls - Copy"" #IF YOU ENTER ""in"" HERE THEN YOU CAN ENTER FILENAME FROM THE CONSOLE
MINIMUM DISPLAY LEVEL OF LOGS: 10 #Warning = 30, Info = 20, Debug = 10, Notset = 0
LOG DELIMITER SYMBOL: ""dupa"" #A SYMBOL WHICH SEPARATES THE LOG FORMAT MODULES
FILE TO STORE LOGS: ""DEFAULT"" #TO CHANGE IT, PASTE FULL PATH OF THE CHOSEN DIRECTORY, RMEMBER TO PUT NAME.TXT AT THE END. DEFAULT = directory of __init.py__
LOG FORMAT: [LEVELNAME, ASCTIME, MESSAGE] #A FORMAT IN WHICH LOGS WILL BE STORED IN THE FILE (Surrounded by [] brackets)
***
LIST OF ATTRIBUTES:
LEVELNAME, #Text logging level for the message ('DEBUG', 'INFO', 'WARNING', 'ERROR', 'CRITICAL').
ASCTIME, #Human-readable time when the LogRecord was created. By default this is of the form ‘2003-07-08 16:49:45,896’ (the numbers after the comma are millisecond portion of the time).
MESSAGE, #The logged message, computed as msg % args.
FUNCNAME, #Name of function containing the logging call.
FILENAME, #Filename portion of pathname.
PATHNAME, #Full pathname of the source file where the logging call was issued (if available).
EMPTY #log will not be stored (IT SHOULD BE THE ONLY ONE MODULE IN THE LOG FORMAT)
ADDITIONAL ATTRIBUTES:
CREATED #Time when the LogRecord was created (as returned by time.time()).
LEVELNO #Numeric logging level for the message (DEBUG, INFO, WARNING, ERROR, CRITICAL).
LINENO #Source line number where the logging call was issued (if available).
MODULE #Module (name portion of filename).
MSECS #Millisecond portion of the time when the LogRecord was created.
NAME #Name of the logger used to log the call.
PROCESS #Process ID (if available).
PROCESSNAME #Process name (if available).
RELATIVECREATED #Time in milliseconds when the LogRecord was created, relative to the time the logging module was loaded.
THREAD #Thread ID (NOT available)
THREADNAME #Thread name (NOT available).
***
";
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