#include <StringConstants.au3> ; to declare the Constants of StringRegExp
#include <Array.au3> ; UDF needed for _ArrayDisplay and _ArrayConcatenate
Local $sRegex = "@Prompt\('[^']*'(\s*,\s*'[^']*')*\)"
Local $sString = "SELECT" & @CRLF & _
" sum(EXT_BAD_DEBT_HIST.BILL_AMT)," & @CRLF & _
" sum(EXT_BAD_DEBT_HIST.BILL_OPEN_AMT)," & @CRLF & _
" TIME_MONTH.YEAR," & @CRLF & _
" TIME_MONTH.MONTH_NAME," & @CRLF & _
" @Prompt('Desired %','N',,Mono,free,Not_Persistent)," & @CRLF & _
" TIME_MONTH.MONTH_NUM_OVERALL," & @CRLF & _
" TIME_MONTH.FIRST_DAY," & @CRLF & _
" TIME_MONTH.LAST_DAY" & @CRLF & _
"FROM" & @CRLF & _
" TIME_MONTH INNER JOIN EXT_BAD_DEBT_HIST ON (EXT_BAD_DEBT_HIST.MONTH_NUM_OVERALL=TIME_MONTH.MONTH_NUM_OVERALL)" & @CRLF & _
" INNER JOIN RSK_SHARED.LO_PRICE_GROUP RSK_SHARED_LO_PRICE_GROUP2 ON (RSK_SHARED_LO_PRICE_GROUP2.PRICE_GROUP_KEY=EXT_BAD_DEBT_HIST.CUST_PGROUP)" & @CRLF & _
"" & @CRLF & _
"WHERE" & @CRLF & _
" (" & @CRLF & _
" TRUNC(EXT_BAD_DEBT_HIST.BD_DATE) = TRUNC(SYSDATE)" & @CRLF & _
" AND" & @CRLF & _
" EXT_BAD_DEBT_HIST.CUSTOMER_CATEGORY_CODE = 20" & @CRLF & _
" AND" & @CRLF & _
" ( EXT_BAD_DEBT_HIST.BILL_CYCLE = @Prompt('Bill Cycle','A','MIGRATION\BC',Mono,primary_key,Not_Persistent) OR -1 = @Prompt('Bill Cycle','A','MIGRATION\BC',Mono,primary_key,Not_Persistent) )" & @CRLF & _
" AND" & @CRLF & _
" TIME_MONTH.FIRST_DAY Is Not Null" & @CRLF & _
" AND" & @CRLF & _
" TIME_MONTH.LAST_DAY Is Not Null" & @CRLF & _
" AND" & @CRLF & _
" (" & @CRLF & _
" ( RSK_SHARED_LO_PRICE_GROUP2.PRICE_GROUP In @Prompt('Price Groups Sub-Groups','A','[Lookup] Price Group (2)\Nested Price Group',Multi,Constrained,Not_Persistent) OR ('All Large 552' In @Prompt('Price Groups Sub-Groups','A','[Lookup] Price Group (2)\Nested Price Group',Multi,Constrained,Not_Persistent) AND RSK_SHARED_LO_PRICE_GROUP2.PRICE_GROUP_CODE = 4) OR ('All SME' In @Prompt('Price Groups Sub-Groups','A','[Lookup] Price Group (2)\Nested Price Group',Multi,Constrained,Not_Persistent) AND RSK_SHARED_LO_PRICE_GROUP2.PRICE_GROUP_CODE = 5) OR 'All' In @Prompt('Price Groups Sub-Groups','A','[Lookup] Price Group (2)\Nested Price Group',Multi,Constrained,Not_Persistent) )" & @CRLF & _
" AND" & @CRLF & _
" EXT_BAD_DEBT_HIST.CUST_PGROUP <> 154" & @CRLF & _
" AND" & @CRLF & _
" EXT_BAD_DEBT_HIST.CUST_PGROUP NOT BETWEEN 161 AND 166" & @CRLF & _
" )" & @CRLF & _
" )" & @CRLF & _
"GROUP BY" & @CRLF & _
" TIME_MONTH.YEAR," & @CRLF & _
" TIME_MONTH.MONTH_NAME," & @CRLF & _
" @Prompt('Desired %','N',,Mono,free,Not_Persistent)," & @CRLF & _
" TIME_MONTH.MONTH_NUM_OVERALL," & @CRLF & _
" TIME_MONTH.FIRST_DAY," & @CRLF & _
" TIME_MONTH.LAST_DAY"
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