#include <StringConstants.au3> ; to declare the Constants of StringRegExp
#include <Array.au3> ; UDF needed for _ArrayDisplay and _ArrayConcatenate
Local $sRegex = "(?m)(?i)(%(25){0,}20|\s)*(%(25){0,}24|\$)(%(25){0,}20|\s)*(%(25){0,}7B|{)(%(25){0,}20|\s)*(%(25){0,}(6A|4A)|J)(%(25){0,}(6E|4E)|N)(%(25){0,}(64|44)|D)(%(25){0,}(69|49)|I)(%(25){0,}20|\s)*(%(25){0,}3A|:)[\w\%]+(%(25){1,}3A|:)(%(25){1,}2F|\/)[^\n]+"
Local $sString = "Sample Log4j strings:" & @CRLF & _
"${JNDI:LDAP://" & @CRLF & _
"${JNDI:LDAPS://" & @CRLF & _
"${JNDI:RMI://" & @CRLF & _
"${JNDI:DNS://" & @CRLF & _
"${JNDI:NIS://" & @CRLF & _
"${JNDI:IIOP://" & @CRLF & _
"${JNDI:CORBA://" & @CRLF & _
"${JNDI:NDS://" & @CRLF & _
"${JNDI:HTTPS://" & @CRLF & _
"${JNDI:HTTP://" & @CRLF & _
" $ { JNDI :LDAPS://" & @CRLF & _
" $ { JNDI :LDAPS://" & @CRLF & _
"${jNDi:l%252564ap://" & @CRLF & _
"" & @CRLF & _
"JNDI = %6A%6E%64%69" & @CRLF & _
"jndi = %4A%4E%44%49" & @CRLF & _
"" & @CRLF & _
"Multi-encoding log4j strings (without spaces):" & @CRLF & _
"%24%7B%6A%6E%64%69%3A%2F" & @CRLF & _
"%2524%257B%256A%256E%2564%2569%253A" & @CRLF & _
"%2524%257B%256A%256E%2564%2569%253A%252F" & @CRLF & _
"%252524%25257B%25256A%25256E%252564%252569%25253A%25252F" & @CRLF & _
"" & @CRLF & _
"Multi-URL Encoded string characters:" & @CRLF & _
"(?i)" & @CRLF & _
"(%(25){0,}20|\s)*" & @CRLF & _
"(%(25){0,}24|$)" & @CRLF & _
"(%(25){0,}20|\s)*" & @CRLF & _
"(%(25){0,}7B|{)" & @CRLF & _
"(%(25){0,}20|\s)*" & @CRLF & _
"(%(25){0,}(6A|4A)|J)" & @CRLF & _
"(%(25){0,}(6E|4E)|N)" & @CRLF & _
"(%(25){0,}(64|44)|D)" & @CRLF & _
"(%(25){0,}(69|49)|I)" & @CRLF & _
"(%(25){0,}20|\s)*" & @CRLF & _
"(%(25){0,}3A|:)" & @CRLF & _
"(%(25){0,}2F|\/)" & @CRLF & _
"[\w\%]+" & @CRLF & _
"(%(25){0,}3A|:)" & @CRLF & _
"(%(25){0,}2F|\/)" & @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