#include <StringConstants.au3> ; to declare the Constants of StringRegExp
#include <Array.au3> ; UDF needed for _ArrayDisplay and _ArrayConcatenate
Local $sRegex = "(?m)\s+R\*$"
Local $sString = "-------------" & @CRLF & _
"---UPLOADS---" & @CRLF & _
"-------------" & @CRLF & _
"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*" & @CRLF & _
"SESSION|01/09/2017 15:35:42.890|[SFTP:1060257_0:it:10.87.16.71] READ: *STOR END /it/cpp:PENs3*" & @CRLF & _
"SESSION|01/09/2017 15:35:43.133|226-Upload File Size:1571846 bytes @ 1535K/sec. MD5=8438660f668ceb3de586cd7ef1263bc4" & @CRLF & _
"---" & @CRLF & _
"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*" & @CRLF & _
"SESSION|01/09/2017 15:35:43.133|226-Upload File Size:1571846 bytes @ 1535K/sec. MD5=8438660f668ceb3de586cd7ef1263bc4" & @CRLF & _
"SESSION|01/09/2017 15:35:42.890|[SFTP:1060257_0:it:10.87.16.71] READ: *STOR END /it/cpp:PENs3*" & @CRLF & _
"---" & @CRLF & _
"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*" & @CRLF & _
"SESSION|12/20/2016 15:12:26.299|226-Upload File Size:25 bytes @ 0K/sec. MD5=7e5e5560ab14904d5f5b2af5fcd8bec3" & @CRLF & _
"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*" & @CRLF & _
"---------------" & @CRLF & _
"---DOWNLOADS---" & @CRLF & _
"---------------" & @CRLF & _
"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*" & @CRLF & _
"SESSION|01/17/2017 18:19:25.767|226-Download File Size:25 bytes @ 0K/sec." & @CRLF & _
"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*" & @CRLF & _
"---" & @CRLF & _
"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*" & @CRLF & _
"SESSION|01/17/2017 18:19:26.173|226-Download File Size:25 bytes @ 0K/sec." & @CRLF & _
"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*" & @CRLF & _
"---" & @CRLF & _
"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*" & @CRLF & _
"SESSION|01/17/2017 18:19:26.736|226-Download File Size:25 bytes @ 0K/sec." & @CRLF & _
"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"
Local $aArray = StringRegExp($sString, $sRegex, $STR_REGEXPARRAYGLOBALFULLMATCH)
Local $aFullArray[0]
For $i = 0 To UBound($aArray) -1
_ArrayConcatenate($aFullArray, $aArray[$i])
Next
$aArray = $aFullArray
; Present the entire match result
_ArrayDisplay($aArray, "Result")
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 AutoIt, please visit: https://www.autoitscript.com/autoit3/docs/functions/StringRegExp.htm