#include <StringConstants.au3> ; to declare the Constants of StringRegExp
#include <Array.au3> ; UDF needed for _ArrayDisplay and _ArrayConcatenate
Local $sRegex = "(?mx)^" & @CRLF & _
"# 40-character hex values are okay" & @CRLF & _
"(0x[a-fA-F\d]{40}(*ACCEPT)" & @CRLF & _
"# 'D' or 'X' followed by 33 specific characters are okay" & @CRLF & _
"|D[^0-4\W_IOV-Z][^\W_IOl0]{32}(*ACCEPT)" & @CRLF & _
"|X[^\W_IOl0]{33}(*ACCEPT)" & @CRLF & _
"# 'bc1' followed by a range of specific characters are okay" & @CRLF & _
"|bc1[^\W_IO]{25,39}(*ACCEPT)" & @CRLF & _
"# Anything else is NOT okay, and all remaining processing should stop" & @CRLF & _
"|(*COMMIT)[13][^\W_IOl0]{33}" & @CRLF & _
")"
Local $sString = "0x7309f0134f3e51e8Cbe29dd86068e0f264f6c946" & @CRLF & _
"0x7a250d5630b4cf539739df2c5dacb4c659f2488d" & @CRLF & _
"0x6b1b45c925b29ea9d5bdde5490d7016edd288700" & @CRLF & _
"0x61765fc9f4e67612d53f29b31484D9e95cc3bdb3" & @CRLF & _
"0xD9cfbf343ac0eec25f5e2ead383fb4d57aaafbf9" & @CRLF & _
"0x870205573906a3122f3647d34775FF77cb33f90e" & @CRLF & _
"0x2dddae5c2c27ae6c1751cac72adacfe82a60f8a4" & @CRLF & _
"0xab06b7806eac2329c5585ddd08dd7fe4e13dde5d" & @CRLF & _
"bc1q3xe5n0j3qnsqc045e2vfx0246qzq5nyzag35xv" & @CRLF & _
"bc1qjw2g03cdnwcxh8gwfcypd3hu3s3md3aqe8zvrl" & @CRLF & _
"bc1qrupduyqlh4r5627vyz46fxker6wrf0sqt7he24" & @CRLF & _
"bc1qyemk24czaa6a2nr89nrz775wefg32d" & @CRLF & _
"17PZUMBg3gaPZvzC6jD4RMYT6J7D8ByzGa" & @CRLF & _
"1FMTSe43cKHTpR6r5xqEuE76hnFBkToGjY" & @CRLF & _
"35cydMA2G5i52XiM1wJ4EZf12fHdJ8hegQ" & @CRLF & _
"3PdD6TiMAdF34JieBgMSGAEFTMsHvQLBLC" & @CRLF & _
"DBs4WcRE7eysKwRxHNX88XZVCQ9M6QSUSz" & @CRLF & _
"DTkv31pUBjJUVrD34mAWf8Cp9BgEkUtNPM" & @CRLF & _
"DDTtqnuZ5kfRT5qh2c7sNtqrJmV3iXYdGG" & @CRLF & _
"DGottmgfevJzhhfmvGdA2JpMjMJ1DsSKjJ" & @CRLF & _
"D9a1Ah7mUNAJwNqHPER4DN9zNLoqcYFDZW" & @CRLF & _
"D5zikmZbvK6ReZSFPDVGusqP3qKcJTjo4r" & @CRLF & _
"DLCDJhnh6aGotar6b182jpzbNEyXb3C361" & @CRLF & _
"D61T1GVeMZM8UHvXKyyD55Ur9efAF2mb5f" & @CRLF & _
"XtbJQV8RWC39gMYsVdbRMCwMBDTAYPP99R" & @CRLF & _
"Xi7CnDniGd726iY4pQr79PTqWtZuVDGu8g" & @CRLF & _
"XxXhd59h44sRdvT3h5t2WXatox8Jhng9ob" & @CRLF & _
"XnjYnC83zC9VAAkf1hg7yPEHJrd3vJwR2d" & @CRLF & _
"XoCccXGPj16WZPzzD3UjsXRTPySZsAAXVD" & @CRLF & _
"Xh77YHy84s2mrsAWZftY1oZNZUakPHyL35" & @CRLF & _
"XuixmDKiB1fPzamnLoZw9Km3Lk7e2CyRT1" & @CRLF & _
"XbJvzQQCWxLNkRUeFq4nS5FQhwT1LWVXJh" & @CRLF & _
"bc1qyemk24czaa6a2nr89nrz775w" & @CRLF & _
"" & @CRLF & _
"1x870205573906a3122f3647d34775ff77cb33f90e" & @CRLF & _
"Ox2dddae5c2c27ae6c1751cac72adacfe82a60f8a4" & @CRLF & _
"0xab06bg806eac2329c5585ddd08dd7fe4e13dde5d" & @CRLF & _
"0xD9cfbf343AC0eec25f5e_ead383fb4d57aaafbf9" & @CRLF & _
"bclq3xe5n0j3qnsqc045e2vfx0246qzq5nyzag35xv" & @CRLF & _
"bc1yemk24czaa6a2nr89nrz775wvptxg57yIe750ut" & @CRLF & _
"0xab06b7806eac2329c5585ddd08dd7fe4" & @CRLF & _
"25cydMA2G5i52XiM1wJ4EZf12fHdJ8hegQ" & @CRLF & _
"3PdD6TIMAdF34JieBgMSGAEFTMsHvQLBLC" & @CRLF & _
"lFMTSe43cKHTpR6r5xqEuE76hnFBkT0GjY" & @CRLF & _
"12GFUMBg3gaPZOzC6lD4RMYT6J7D8ByzGa" & @CRLF & _
"DI1T1GVeMZM8UHvXKyyD55Ur9efAF2mb5f" & @CRLF & _
"D4JJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJ" & @CRLF & _
"D41T1GVeMZM8UHvXKyyD55Ur9efAF2mb5f" & @CRLF & _
"D1zikmZbvK6ReZSFPDVGusqP3qKcJTjo4r" & @CRLF & _
"DOTtqnuZ5kfRs5qh2c7sNtqrJmV3iXYdff" & @CRLF & _
"DLCDJhnh6aGotar6b182jpzbNEyXb3C36l" & @CRLF & _
"XoGGGXGPj06WZPzzD3UjsXRTPySZsAAXVD" & @CRLF & _
"Xh66YHy22s2mrsAWZftYIoZNZUakPXYdff" & @CRLF & _
"XuixmDKiBlfPzamnLoZw9Km3Lk7e2CyRT1" & @CRLF & _
"XBBBBBBCCCCCCRUeFq4nS5F0hwT1LLLLLh" & @CRLF & _
"bc1qemk24czaa6a2nr89nrz775w" & @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