#include <StringConstants.au3> ; to declare the Constants of StringRegExp
#include <Array.au3> ; UDF needed for _ArrayDisplay and _ArrayConcatenate
Local $sRegex = "(?m)\)\s+references\s+(?:\[.+?\](?:\.\[.+?\])*)\s+\((\[(.+?)\](,\[(.+?)\])*)\)\s+on\s+"
Local $sString = "Alter table [xxx].[sRISRESPPol] add Constraint [FK_cUcZnak_sRISRESPPol] foreign key([IdUcZnak],[IfUcZnak],[huhu]) references [dbo].[dbo].[cUcZnak] ([xx],[Id],[FirstId]) on update no action on delete no action" & @CRLF & _
"" & @CRLF & _
"var regexFK = /\]\s+?foreign\s+?key\((\[(.+?)\](,\[(.+?)\])*)\)\s+?references\s+?\[/g;" & @CRLF & _
"" & @CRLF & _
"var regexPrimaryTable = /\)\s+references\s+(?:\[.+?\]\.)*\[(.+?)\]\s+\(/g;" & @CRLF & _
"" & @CRLF & _
"foreignTable ^Alter\s+?table\s+?(?:\[.+?]+?\]\.)*\[(.+?)\]\s+?add\s+?Constraint\s+?\[" & @CRLF & _
"" & @CRLF & _
"PK \)\s+references\s+(?:\[.+?\](?:\.\[.+?\])*)\s+\((\[(.+?)\](,\[(.+?)\])*)\)\s+on\s+" & @CRLF & _
"" & @CRLF & _
"M1 112-173 ) references [dbo].[dbo].[cUcZnak] ([xx],[Id],[FirstId]) on " & @CRLF & _
"G1 148-167 [xx],[Id],[FirstId]" & @CRLF & _
"G2 149-151 xx" & @CRLF & _
"G3 157-167 ,[FirstId]" & @CRLF & _
"G4 159-166 FirstId"
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