using System;
using System.Text.RegularExpressions;
public class Example
{
public static void Main()
{
string pattern = @"\s+R\*$";
string input = @"-------------
---UPLOADS---
-------------
SESSION|01/09/2017 15:35:42.143|[SFTP:1060257_0:it:10.87.16.71] WROTE: *150 Opening BINARY mode data connection. Ready to write file /it/cpp. ""/it/cpp"") S T O R*
SESSION|01/09/2017 15:35:42.890|[SFTP:1060257_0:it:10.87.16.71] READ: *STOR END /it/cpp:PENs3*
SESSION|01/09/2017 15:35:43.133|226-Upload File Size:1571846 bytes @ 1535K/sec. MD5=8438660f668ceb3de586cd7ef1263bc4
---
SESSION|01/09/2017 15:35:42.143|[SFTP:1060257_0:it:10.87.16.71] WROTE: *150 Opening BINARY mode data connection. Ready to write file /it/cpp. ""/it/cpp"") S T O R*
SESSION|01/09/2017 15:35:43.133|226-Upload File Size:1571846 bytes @ 1535K/sec. MD5=8438660f668ceb3de586cd7ef1263bc4
SESSION|01/09/2017 15:35:42.890|[SFTP:1060257_0:it:10.87.16.71] READ: *STOR END /it/cpp:PENs3*
---
SESSION|12/20/2016 15:12:26.273|[SFTP:1008699_0:it:10.87.16.71] WROTE: *150 Opening BINARY mode data connection. Ready to write file /it/cpp. ""/it/cpp"") S T O R*
SESSION|12/20/2016 15:12:26.299|226-Upload File Size:25 bytes @ 0K/sec. MD5=7e5e5560ab14904d5f5b2af5fcd8bec3
SESSION|12/20/2016 15:12:26.299|[SFTP:1008699_0:it:10.87.16.71] WROTE: *226 Transfer complete. MD5=7e5e5560ab14904d5f5b2af5fcd8bec3 (""/it/cpp"" 25) STOR*
---------------
---DOWNLOADS---
---------------
SESSION|01/17/2017 18:19:25.566|[SFTP:1073958_0:ss.irth.test:10.87.16.71] WROTE: *150 Opening BINARY mode data connection for /test/cpp (25 bytes). (""/test/cpp"") R E T R*
SESSION|01/17/2017 18:19:25.767|226-Download File Size:25 bytes @ 0K/sec.
SESSION|01/17/2017 18:19:25.768|[SFTP:1073958_0:ss.irth.test:10.87.16.71] WROTE: *226 Transfer complete. MD5=7e5e5560ab14904d5f5b2af5fcd8bec3 (""/test/cpp"") RETR*
---
SESSION|01/17/2017 18:19:26.147|[SFTP:1073958_0:ss.irth.test:10.87.16.71] WROTE: *150 Opening BINARY mode data connection for /test/cpp (25 bytes). (""/test/cpp"") R E T R*
SESSION|01/17/2017 18:19:26.173|226-Download File Size:25 bytes @ 0K/sec.
SESSION|01/17/2017 18:19:26.174|[SFTP:1073958_0:ss.irth.test:10.87.16.71] WROTE: *226 Transfer complete. MD5=7e5e5560ab14904d5f5b2af5fcd8bec3 (""/test/cpp"") RETR*
---
SESSION|01/17/2017 18:19:26.614|[SFTP:1073958_0:ss.irth.test:10.87.16.71] WROTE: *150 Opening BINARY mode data connection for /test/cpp (25 bytes). (""/test/cpp"") R E T R*
SESSION|01/17/2017 18:19:26.736|226-Download File Size:25 bytes @ 0K/sec.
SESSION|01/17/2017 18:19:26.737|[SFTP:1073958_0:ss.irth.test:10.87.16.71] WROTE: *226 Transfer complete. MD5=7e5e5560ab14904d5f5b2af5fcd8bec3 (""/test/cpp"") RETR*a";
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