#include <StringConstants.au3> ; to declare the Constants of StringRegExp
#include <Array.au3> ; UDF needed for _ArrayDisplay and _ArrayConcatenate
Local $sRegex = "(?m)[\w\W]+?Code[\w\W]+?(?<po_number>\d{8})\s\|[\w\W]+?\s\|[\w\W]+?\s\|[\w\W]+?\s\|[\w\W]+?\s\|[\w\W]+?\s\|[\w\W]+?\s\|[\w\W]+?\s\|[\w\W]+?\s|\s\|[\w\W]+?\s\|[\w\W]+?\s\|\s(?<reason>[\w\W]+?)\|"
Local $sString = "The Acme Corp has requested you cancel the following order(s) as soon as possible." & @CRLF & _
"If you're unable to cancel the order(s), or have questions about the reason for canceling, please contact Acme Corp directly." & @CRLF & _
"For the best support, please do not reply to this email. " & @CRLF & _
"" & @CRLF & _
"PO# | Order Received On | Ship-to Zip Code" & @CRLF & _
"12345678 | 2024-03-21 18:26:54 | " & @CRLF & _
"" & @CRLF & _
" Line # | Merchant SKU | Vendor SKU | Cancel Qty | Cancel Reason | Packing Slip Bundle" & @CRLF & _
" 1 | 1XX718YY40 | 654321 | 1 | Cancelled at Merchant's Request | 19205839" & @CRLF & _
"" & @CRLF & _
"Depending on the business rules, you may need to include some of these details on the fulfillment confirmation you use to cancel the order."
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