#include <StringConstants.au3> ; to declare the Constants of StringRegExp
#include <Array.au3> ; UDF needed for _ArrayDisplay and _ArrayConcatenate
Local $sRegex = "(?i)\s(?:from|join)\s*(\[?[\S]+)\]?(?:\s?)(?:(?:as)?\s?)(?!(join|where|from|left|right|outer|inner|on))(\w*)"
Local $sString = "" & @CRLF & _
"SELECT a.ACCTNO, " & @CRLF & _
"case [DCCDRID] when 'N/A' then 'N/A' else dbo.GETDocNames(DCCDRID) end AS [Specific Documents Needed]," & @CRLF & _
"a.CUSTRF, " & @CRLF & _
"b.[RLEXT#], " & @CRLF & _
"a.APPLCT, " & @CRLF & _
"a.SADDR1, " & @CRLF & _
"a.SADDR2, " & @CRLF & _
"a.SCITY, " & @CRLF & _
"a.SSTATE, " & @CRLF & _
"a.SZIP, " & @CRLF & _
"a.CFOReqstType" & @CRLF & _
"FROM (" & @CRLF & _
"SELECT a.ACCTNO, " & @CRLF & _
"a.CUSTRF, " & @CRLF & _
"a.MINNBR, " & @CRLF & _
"a.[GSE_NO] AS [FNMA#], " & @CRLF & _
"a.GSEPN AS [FNMA MBS Pool Number], " & @CRLF & _
"a.GSESN AS [FNMA Master Servicer Number], " & @CRLF & _
"a.APPLCT, " & @CRLF & _
"a.SADDR1, " & @CRLF & _
"a.SADDR2, " & @CRLF & _
"a.SCITY, " & @CRLF & _
"a.SSTATE, " & @CRLF & _
"a.SZIP, " & @CRLF & _
"a.RefreshRunDT AS [Request Date], " & @CRLF & _
"a.TRANDT AS [Paid Date], " & @CRLF & _
"a.OrgLnBal AS [Orig Loan Amt], " & @CRLF & _
"b.CustodianName, " & @CRLF & _
"a.FileDestName, " & @CRLF & _
"a.CSTSEQ, " & @CRLF & _
"a.CSTFileDest, " & @CRLF & _
"a.CSTRelCode, " & @CRLF & _
"a.CFOOrderReasonCode, " & @CRLF & _
"a.CFOReqstType, " & @CRLF & _
"a.DCCDRID" & @CRLF & _
"FROM [PRODLIB].[dbo].[DOCUS_SYS_REFRESH_CFO_DAILY] a" & @CRLF & _
"INNER JOIN tbl_DC_CLU_CUSTD b " & @CRLF & _
" ON a.CSTSEQ = b.CSTSEQ" & @CRLF & _
"WHERE a.CSTSEQ In (23,34,35,39,53,54)" & @CRLF & _
") a " & @CRLF & _
"INNER JOIN DOCUS_PRODLIB_CLPREFAL b" & @CRLF & _
" ON a.ACCTNO = b.[RLNEW#]" & @CRLF & _
"WHERE a.CSTSEQ = 23"
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