using System;
using System.Text.RegularExpressions;
public class Example
{
public static void Main()
{
string pattern = @" (SessionID="".*?"")?(?: .*(MsgType="".*?""))? ";
string input = @"2021-10-07 10:32:05,767 ERROR [LAWT2] blah.blah.blah - Message processing FAILED: <ExecutionReport blah=""xxx"" foo=""yyy"" SessionID=""kkk"" MoreStuff=""zz""> Total time for which application threads were stopped: 0.0003858 seconds, Stopping threads took: 0.0000653 seconds
2021-10-07 10:31:32,902 ERROR [LAWT6] blah.blah.blah - Message processing FAILED: <NewOrderSingle SessionID=""zkx"" TargetSubID=""ttt"" Account=""blah"" MsgType=""D"" BookingTypeOverride=""0"" Symbol=""6316"" OtherField1=""othervalue1"" Otherfield2=""othervalue2""/></D></NewOrderSingle>";
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