#include <StringConstants.au3> ; to declare the Constants of StringRegExp
#include <Array.au3> ; UDF needed for _ArrayDisplay and _ArrayConcatenate
Local $sRegex = "(?m)caller\"\s*:\s*\{\s*\"id\":\s*\"(?<callerid>[^\"]+)?\"\,\s*\"version\"\s*:\s*\"(?<callerversion>[^\"]+)?\""
Local $sString = "{" & @CRLF & _
" "info":{" & @CRLF & _
" "eventSource":""," & @CRLF & _
" "sourceType":"I/O"," & @CRLF & _
" "status":{" & @CRLF & _
" "code":""," & @CRLF & _
" "msg":""," & @CRLF & _
" "msgError":""" & @CRLF & _
" }," & @CRLF & _
" "transactionId":null," & @CRLF & _
" "traceId":null," & @CRLF & _
" "timestampStart":"2019-05-16T21:30:55.174Z"," & @CRLF & _
" "timestampEnd":"2019-05-16T21:30:55.174Z"," & @CRLF & _
" "companyIDCode":""," & @CRLF & _
" "channelIDCode":""," & @CRLF & _
" "branchCode":""," & @CRLF & _
" "searchFields":{" & @CRLF & _
" "key_3":"value"," & @CRLF & _
" "key_2":"value"," & @CRLF & _
" "key_1":"value"" & @CRLF & _
" }," & @CRLF & _
" "annotation":{}," & @CRLF & _
" "caller":{" & @CRLF & _
" "id":"caller_01"," & @CRLF & _
" "version":"1.2.3"," & @CRLF & _
" "acronym":""" & @CRLF & _
" }," & @CRLF & _
" "called":{" & @CRLF & _
" "id":"called_id"," & @CRLF & _
" "version":"3.2.1"," & @CRLF & _
" "acronym":""" & @CRLF & _
" }," & @CRLF & _
" "storage":{" & @CRLF & _
" "id":""," & @CRLF & _
" "start":""," & @CRLF & _
" "end":""" & @CRLF & _
" }" & @CRLF & _
" }" & @CRLF & _
" }," & @CRLF & _
" "headers":[]," & @CRLF & _
" "payLoad":{" & @CRLF & _
" "input":{" & @CRLF & _
" "encoding":"1024"," & @CRLF & _
" "ccsid":"1024"," & @CRLF & _
" "data":"dati_in"" & @CRLF & _
" }," & @CRLF & _
" "output":{" & @CRLF & _
" "encoding":"1024"," & @CRLF & _
" "ccsid":"1024"," & @CRLF & _
" "data":"dati_out"" & @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