#include <StringConstants.au3> ; to declare the Constants of StringRegExp
#include <Array.au3> ; UDF needed for _ArrayDisplay and _ArrayConcatenate
Local $sRegex = "(?m)\]\sA\s+(.*)(microsoft|office|azure|o365|onenote|outlook|windowsupdate)(\(\d+\))(com|net|us)(\(\d+\))\s"
Local $sString = "10/6/2023 6:19:18 AM 149C PACKET 0000023A2A31D8A0 UDP Rcv 10.106.92.80 e32e Q [0001 D NOERROR] A (6)mobile(4)pipe(4)aria(9)microsoft(3)com(0)" & @CRLF & _
"UDP question info at 0000023A2A31D8A0" & @CRLF & _
" Socket = 816" & @CRLF & _
" Remote addr 10.106.92.80, port 54599" & @CRLF & _
" Time Query=5683788, Queued=0, Expire=0" & @CRLF & _
" Buf length = 0x0fa0 (4000)" & @CRLF & _
" Msg length = 0x0030 (48)" & @CRLF & _
" Message:" & @CRLF & _
" XID 0xe32e" & @CRLF & _
" Flags 0x0100" & @CRLF & _
" QR 0 (QUESTION)" & @CRLF & _
" OPCODE 0 (QUERY)" & @CRLF & _
" AA 0" & @CRLF & _
" TC 0" & @CRLF & _
" RD 1" & @CRLF & _
" RA 0" & @CRLF & _
" Z 0" & @CRLF & _
" CD 0" & @CRLF & _
" AD 0" & @CRLF & _
" RCODE 0 (NOERROR)" & @CRLF & _
" QCOUNT 1" & @CRLF & _
" ACOUNT 0" & @CRLF & _
" NSCOUNT 0" & @CRLF & _
" ARCOUNT 0" & @CRLF & _
" QUESTION SECTION:" & @CRLF & _
" Offset = 0x000c, RR count = 0" & @CRLF & _
" QTYPE A (1)" & @CRLF & _
" QCLASS 1" & @CRLF & _
" ANSWER SECTION:" & @CRLF & _
" empty" & @CRLF & _
" AUTHORITY SECTION:" & @CRLF & _
" empty" & @CRLF & _
" ADDITIONAL SECTION:" & @CRLF & _
" empty"
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