#include <MsgBoxConstants.au3> ; to declare the Constants of MsgBox
Local $sRegex = "(("|]|}|\.|(\d|\.|-|:)\s*\d)\s*,|{)\s*(")?([^":\n]+?)(")?\s*:"
Local $sString = "{" & @CRLF & _
"type:"book"," & @CRLF & _
"author:["Willighagen, LG"]," & @CRLF & _
"editor:["Toos van Hoof","Karin Antoinette Henriette Majoor"]," & @CRLF & _
"date:" & @CRLF & _
"{" & @CRLF & _
"from:{" & @CRLF & _
"from:[1,2,2003]," & @CRLF & _
"}" & @CRLF & _
"}" & @CRLF & _
"," & @CRLF & _
"print:3," & @CRLF & _
"}"
Local $sSubst = "$1"$5":"
Local $sResult = StringRegExpReplace($sString, $sRegex, $sSubst)
MsgBox($MB_SYSTEMMODAL, "Result", $sResult)
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