#include <StringConstants.au3> ; to declare the Constants of StringRegExp
#include <Array.au3> ; UDF needed for _ArrayDisplay and _ArrayConcatenate
Local $sRegex = "(?m)((RESERVADAS|[A-Z]+)[(][)][ ]*[\t]*[\r\n|\n]*([{][\r\n|\n]*([\t]*[ ]*[0-9]+[ ]*[=][ ]*(['][A-Z]+['])[\r\n|\n]*)+[\r\n|\n]*[}][\r\n|\n]*)*)"
Local $sString = "RESERVADAS() " & @CRLF & _
"{" & @CRLF & _
" 18 = 'PROGRAM'" & @CRLF & _
" 19 = 'INCLUDE'" & @CRLF & _
" 20 = 'CONST'" & @CRLF & _
" 21 = 'TYPE'" & @CRLF & _
" 22 = 'VAR'" & @CRLF & _
" 23 = 'RECORD'" & @CRLF & _
" 24 = 'ARRAY'" & @CRLF & _
" 25 = 'OF'" & @CRLF & _
" 26 = 'PROCEDURE'" & @CRLF & _
" 27 = 'FUNCTION'" & @CRLF & _
" 28 = 'IF'" & @CRLF & _
" 29 = 'THEN'" & @CRLF & _
" 30 = 'ELSE'" & @CRLF & _
" 31 = 'FOR'" & @CRLF & _
" 32 = 'TO'" & @CRLF & _
" 33 = 'WHILE'" & @CRLF & _
" 34 = 'DO'" & @CRLF & _
" 35 = 'EXIT'" & @CRLF & _
" 36 = 'END'" & @CRLF & _
" 37 = 'CASE'" & @CRLF & _
" 38 = 'BREAK'" & @CRLF & _
" 39 = 'DOWNTO'" & @CRLF & _
"} " & @CRLF & _
"COSO()" & @CRLF & _
"{" & @CRLF & _
" 19='A'" & @CRLF & _
"}" & @CRLF & _
"" & @CRLF & _
""
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