#include <StringConstants.au3> ; to declare the Constants of StringRegExp
#include <Array.au3> ; UDF needed for _ArrayDisplay and _ArrayConcatenate
Local $sRegex = "(?m)[\n\s]*=>[\n\s]*\[[\n\s]*(\([^\]]+\))[\n\s]*\]"
Local $sString = "{" & @CRLF & _
" "outcome" => "success"," & @CRLF & _
" "result" => {" & @CRLF & _
" "deep-copy-subject-mode" => false," & @CRLF & _
" "vault" => undefined," & @CRLF & _
" "security-domain" => {" & @CRLF & _
" "jboss-web-policy" => {" & @CRLF & _
" "acl" => undefined," & @CRLF & _
" "audit" => undefined," & @CRLF & _
" "authentication" => undefined," & @CRLF & _
" "cache-type" => "default"," & @CRLF & _
" "identity-trust" => undefined," & @CRLF & _
" "jsse" => undefined," & @CRLF & _
" "mapping" => undefined," & @CRLF & _
" "authorization" => {"classic" => {"policy-modules" => [{" & @CRLF & _
" "code" => "Delegating"," & @CRLF & _
" "flag" => "required"," & @CRLF & _
" "module-options" => undefined" & @CRLF & _
" }]}}" & @CRLF & _
" }," & @CRLF & _
" "other" => {" & @CRLF & _
" "acl" => undefined," & @CRLF & _
" "audit" => undefined," & @CRLF & _
" "authorization" => undefined," & @CRLF & _
" "cache-type" => "default"," & @CRLF & _
" "identity-trust" => undefined," & @CRLF & _
" "jsse" => undefined," & @CRLF & _
" "mapping" => undefined," & @CRLF & _
" "authentication" => {"classic" => {"login-modules" => [" & @CRLF & _
" {" & @CRLF & _
" "code" => "Remoting"," & @CRLF & _
" "flag" => "optional"," & @CRLF & _
" "module-options" => [("password-stacking" => "useFirstPass")]" & @CRLF & _
" }," & @CRLF & _
" {" & @CRLF & _
" "code" => "RealmUsersRoles"," & @CRLF & _
" "flag" => "required"," & @CRLF & _
" "module-options" => [" & @CRLF & _
" ("usersProperties" => "${jboss.server.config.dir}/application-users.properties")," & @CRLF & _
" ("rolesProperties" => "${jboss.server.config.dir}/application-roles.properties")," & @CRLF & _
" ("realm" => "ApplicationRealm")," & @CRLF & _
" ("password-stacking" => "useFirstPass")" & @CRLF & _
" ]" & @CRLF & _
" }" & @CRLF & _
" ]}}" & @CRLF & _
" }," & @CRLF & _
" "jboss-ejb-policy" => {" & @CRLF & _
" "acl" => undefined," & @CRLF & _
" "audit" => undefined," & @CRLF & _
" "authentication" => undefined," & @CRLF & _
" "cache-type" => "default"," & @CRLF & _
" "identity-trust" => undefined," & @CRLF & _
" "jsse" => undefined," & @CRLF & _
" "mapping" => undefined," & @CRLF & _
" "authorization" => {"classic" => {"policy-modules" => [{" & @CRLF & _
" "code" => "Delegating"," & @CRLF & _
" "flag" => "required"," & @CRLF & _
" "module-options" => undefined" & @CRLF & _
" }]}}" & @CRLF & _
" }" & @CRLF & _
" }" & @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