#include <StringConstants.au3> ; to declare the Constants of StringRegExp
#include <Array.au3> ; UDF needed for _ArrayDisplay and _ArrayConcatenate
Local $sRegex = "(?m)"PrivKey": "([a-zA-Z0-9_=\/-\\+]+)"
Local $sString = " {" & @CRLF & _
" "API": {" & @CRLF & _
" "HTTPHeaders": {}" & @CRLF & _
" }," & @CRLF & _
" "Addresses": {" & @CRLF & _
" "API": "/ip4/0.0.0.0/tcp/5001"," & @CRLF & _
" "Announce": []," & @CRLF & _
" "Gateway": "/ip4/0.0.0.0/tcp/8080"," & @CRLF & _
" "NoAnnounce": []," & @CRLF & _
" "Swarm": [" & @CRLF & _
" "/ip4/0.0.0.0/tcp/4001"," & @CRLF & _
" "/ip6/::/tcp/4001"" & @CRLF & _
" ]" & @CRLF & _
" }," & @CRLF & _
" "Bootstrap": [" & @CRLF & _
" "/dnsaddr/bootstrap.libp2p.io/ipfs/QmNnooDu7bfjPFoTZYxMNLWUQJyrVwtbZg5gBMjTezGAJN"," & @CRLF & _
" "/dnsaddr/bootstrap.libp2p.io/ipfs/QmQCU2EcMqAqQPR2i9bChDtGNJchTbq5TbXJJ16u19uLTa"," & @CRLF & _
" "/dnsaddr/bootstrap.libp2p.io/ipfs/QmbLHAnMoJPWSCR5Zhtx6BHJX9KiKNN6tpvbUcqanj75Nb"," & @CRLF & _
" "/dnsaddr/bootstrap.libp2p.io/ipfs/QmcZf59bWwK5XFi76CZX8cbJ4BhTzzA3gU1ZjYZcYW3dwt"," & @CRLF & _
" "/ip4/104.131.131.82/tcp/4001/ipfs/QmaCpDMGvV2BGHeYERUEnRQAwe3N8SzbUtfsmvsqQLuvuJ"," & @CRLF & _
" "/ip4/104.236.179.241/tcp/4001/ipfs/QmSoLPppuBtQSGwKDZT2M73ULpjvfd3aZ6ha4oFGL1KrGM"," & @CRLF & _
" "/ip4/128.199.219.111/tcp/4001/ipfs/QmSoLSafTMBsPKadTEgaXctDQVcqN88CNLHXMkTNwMKPnu"," & @CRLF & _
" "/ip4/104.236.76.40/tcp/4001/ipfs/QmSoLV4Bbm51jM9C4gDYZQ9Cy3U6aXMJDAbzgu2fzaDs64"," & @CRLF & _
" "/ip4/178.62.158.247/tcp/4001/ipfs/QmSoLer265NRgSp2LA3dPaeykiS1J6DifTC88f5uVQKNAd"," & @CRLF & _
" "/ip6/2604:a880:1:20::203:d001/tcp/4001/ipfs/QmSoLPppuBtQSGwKDZT2M73ULpjvfd3aZ6ha4oFGL1KrGM"," & @CRLF & _
" "/ip6/2400:6180:0:d0::151:6001/tcp/4001/ipfs/QmSoLSafTMBsPKadTEgaXctDQVcqN88CNLHXMkTNwMKPnu"," & @CRLF & _
" "/ip6/2604:a880:800:10::4a:5001/tcp/4001/ipfs/QmSoLV4Bbm51jM9C4gDYZQ9Cy3U6aXMJDAbzgu2fzaDs64"," & @CRLF & _
" "/ip6/2a03:b0c0:0:1010::23:1001/tcp/4001/ipfs/QmSoLer265NRgSp2LA3dPaeykiS1J6DifTC88f5uVQKNAd"" & @CRLF & _
" ]," & @CRLF & _
" "Datastore": {" & @CRLF & _
" "BloomFilterSize": 1048576," & @CRLF & _
" "GCPeriod": "1h"," & @CRLF & _
" "HashOnRead": false," & @CRLF & _
" "Spec": {" & @CRLF & _
" "child": {" & @CRLF & _
" "path": "badgerds"," & @CRLF & _
" "syncWrites": true," & @CRLF & _
" "truncate": true," & @CRLF & _
" "type": "badgerds"" & @CRLF & _
" }," & @CRLF & _
" "prefix": "badger.datastore"," & @CRLF & _
" "type": "measure"" & @CRLF & _
" }," & @CRLF & _
" "StorageGCWatermark": 90," & @CRLF & _
" "StorageMax": "100GB"" & @CRLF & _
" }," & @CRLF & _
" "Discovery": {" & @CRLF & _
" "MDNS": {" & @CRLF & _
" "Enabled": true," & @CRLF & _
" "Interval": 10" & @CRLF & _
" }" & @CRLF & _
" }," & @CRLF & _
" "Experimental": {" & @CRLF & _
" "FilestoreEnabled": false," & @CRLF & _
" "Libp2pStreamMounting": false," & @CRLF & _
" "P2pHttpProxy": false," & @CRLF & _
" "PreferTLS": false," & @CRLF & _
" "QUIC": false," & @CRLF & _
" "ShardingEnabled": false," & @CRLF & _
" "UrlstoreEnabled": false" & @CRLF & _
" }," & @CRLF & _
" "Gateway": {" & @CRLF & _
" "APICommands": []," & @CRLF & _
" "HTTPHeaders": {" & @CRLF & _
" "Access-Control-Allow-Headers": [" & @CRLF & _
" "X-Requested-With"," & @CRLF & _
" "Range"," & @CRLF & _
" "User-Agent"" & @CRLF & _
" ]," & @CRLF & _
" "Access-Control-Allow-Methods": [" & @CRLF & _
" "GET"" & @CRLF & _
" ]," & @CRLF & _
" "Access-Control-Allow-Origin": [" & @CRLF & _
" "*"" & @CRLF & _
" ]" & @CRLF & _
" }," & @CRLF & _
" "NoFetch": false," & @CRLF & _
" "PathPrefixes": []," & @CRLF & _
" "RootRedirect": ""," & @CRLF & _
" "Writable": false" & @CRLF & _
" }," & @CRLF & _
" "Identity": {" & @CRLF & _
" "PeerID": "Qme2joV44qiG38Q7YaEti6N1QMiM6XujXairxgJqJB9DeT"," & @CRLF & _
" "PrivKey": "CAASqQkwggSlAgEAAoIBAQDXaph7x+ZcxSXIFxHZ9JYHakDP/8mD33UPBY1KBJ7eLrhr8UA3Pc6gMB7sFUe7wVinij7rupXjprZ/eIMn5PpYaYeCjRhj40Vn718ahmotmP1eybyXXuUr/3WqeLnKa9swE7LmC/RhT9Db7DImcaaqssffG7pSpSr0Ap0AjTttxVqi21C3FF7VgV2yN+fSQkTrHLQ7hd9KghX6At3Ar4GrQkt4nXPwITtMy/G72iRdXPtGUMxDVArDenR3djaDF/7GxcaeAfLUeJyVw9bPXUh5z5ZYwMeHLOij4Ope3I1kgjfesVLNTQNsqh3XMDtCI/4efMoRDUMyFmdIl5SZA6SvAgMBAAECggEBAI+nDji9femvrxpYCBeI++PF/6K1uPSwN6fk0+vgWPFhxqp1H5W3Keu5K2XUaxnSPgS8NGmO7BX8PweSniQklq4O8cclwHYcQVSmVI2jxXrS42QqtBFdvwYwPY+JIpzSgED3Yf33Suj6CRYf1PG+KJ78yj0GiKJEcvh2Ja0QgekY0aaZcID2o2vcUPa3bdD88838i3wRx9L1Bhgr2whXdbl+Hbj0NyZ8QSZVjb9Echw2OZwjkflqHAn6W+C9cSAwdq7ESqymgS5S+JkuSxh2E0a1eEevIpEQ5j/Vy37sdFfd0vu31h9fNlq5t5SPK6DzaqEdexe3EP9CIWr8J+7sAUECgYEA5YPHro9VMZ+D08FBsv7pVQSOQepvII9RM5gM943pqWoo5+O4bUTVuAccp5fLknTO+cWnpIZzq8/YVLL+rUKZvCkgji1D+PiXBto2zt1/LKDFCQlvJ8KV/78A7rPwJ+ru/0D/8DkFVeCfteByW9w3EnbXoOKMqL/zXkRjHvapadsCgYEA8EZT7nouBflOrF25HsxxUs5rztDw29nPOG9x67QMAaxvPg04t/lkTeH5BkIg7mhXhQbW5v51HyZ8jes2h4guRo598VjiEkq6smMVmtxCCm85sySh1iAKkOKmFzGx8SQupDL5fi9PkFdqaQE+7QitozqBhad76b50YaWbfTUk2r0CgYEAtQoIxXG8QsNPqgXD/BxFE1HfoLD6bVV/ONJUUCU5ze+2Sov+2vo0FtBNUwlSg7jt1mmJviZsMXdmbhEvAJ4LRDewvVWJS2dTQg14tB5VhW9fXKx7aIJ97VjNtHxtEB+p2+B6whNIWSAw+rcLndgL/N2PYxGw4B9hKdeJ1E++/IcCgYEA5kmxlgb6Z3VcZy3pCNDP6Jq5j16JC15GEwQVfuBxBYWclS+c5g+ciF0GDW6CG55cC77TaFAIN1Pu2yLOf7YRDET0Bsa23utK50C6a1Oh5FhYSA/bINxS5CynHeHed43DOlM09zEnI+P0tDGiexLvQVwI2e39gLmu2Awe7DFsYk0CgYAWH7ghRPFQyQGFkSNSBZKPIy0hUqLJnEF4ACmQaqpU5xFnH5ZF4euBQiM/nn73AtSVQtjKpI02rOTR9FQ51ySw57fYTzejGjJOM1+UHlKLRSJIMnOhuzdRrO+2WGYmPVvr/k1htOoSEE8e+N6ZxNZERs3i/f8igfcD6v51k5SkQA=="" & @CRLF & _
" }," & @CRLF & _
" "Ipns": {" & @CRLF & _
" "RecordLifetime": ""," & @CRLF & _
" "RepublishPeriod": ""," & @CRLF & _
" "ResolveCacheSize": 128" & @CRLF & _
" }," & @CRLF & _
" "Mounts": {" & @CRLF & _
" "FuseAllowOther": false," & @CRLF & _
" "IPFS": "/ipfs"," & @CRLF & _
" "IPNS": "/ipns"" & @CRLF & _
" }," & @CRLF & _
" "Pubsub": {" & @CRLF & _
" "DisableSigning": false," & @CRLF & _
" "Router": ""," & @CRLF & _
" "StrictSignatureVerification": false" & @CRLF & _
" }," & @CRLF & _
" "Reprovider": {" & @CRLF & _
" "Interval": "12h"," & @CRLF & _
" "Strategy": "all"" & @CRLF & _
" }," & @CRLF & _
" "Routing": {" & @CRLF & _
" "Type": "dht"" & @CRLF & _
" }," & @CRLF & _
" "Swarm": {" & @CRLF & _
" "AddrFilters": null," & @CRLF & _
" "ConnMgr": {" & @CRLF & _
" "GracePeriod": "20s"," & @CRLF & _
" "HighWater": 2000," & @CRLF & _
" "LowWater": 600," & @CRLF & _
" "Type": "basic"" & @CRLF & _
" }," & @CRLF & _
" "DisableBandwidthMetrics": false," & @CRLF & _
" "DisableNatPortMap": false," & @CRLF & _
" "DisableRelay": false," & @CRLF & _
" "EnableAutoNATService": false," & @CRLF & _
" "EnableAutoRelay": false," & @CRLF & _
" "EnableRelayHop": false" & @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