#include <StringConstants.au3> ; to declare the Constants of StringRegExp
#include <Array.au3> ; UDF needed for _ArrayDisplay and _ArrayConcatenate
Local $sRegex = "(?m)^(?:(?:25[0-5]|2[0-4]\d|1?\d{1,2})(?:\.(?!$)|$)){4}$"
Local $sString = "validates:" & @CRLF & _
"192.68.35.35" & @CRLF & _
"0.0.0.0" & @CRLF & _
"255.0.0.0" & @CRLF & _
"192.168.1.0" & @CRLF & _
"192.168.0.1" & @CRLF & _
"255.255.255.0" & @CRLF & _
"1.1.1.1" & @CRLF & _
"255.255.255.255" & @CRLF & _
"249.249.249.249" & @CRLF & _
"200.200.200.200" & @CRLF & _
"199.199.199.199" & @CRLF & _
"100.100.100.100" & @CRLF & _
"99.99.99.99" & @CRLF & _
"0.0.0.0" & @CRLF & _
"9.9.9.9" & @CRLF & _
"10.10.10.10" & @CRLF & _
"99.99.99.99" & @CRLF & _
"100.100.100.100" & @CRLF & _
"109.109.109.109" & @CRLF & _
"110.110.110.110" & @CRLF & _
"199.199.199.199" & @CRLF & _
"200.200.200.200" & @CRLF & _
"249.249.249.249" & @CRLF & _
"250.250.250.250" & @CRLF & _
"255.255.255.255" & @CRLF & _
"01.01.01.01" & @CRLF & _
"09.09.09.09" & @CRLF & _
"192.168.0.1" & @CRLF & _
"255.255.255.255" & @CRLF & _
"1.1.1.1" & @CRLF & _
"" & @CRLF & _
"should not validate:" & @CRLF & _
"256.256.256.260" & @CRLF & _
"192.168.0.0/24" & @CRLF & _
"192.168..1" & @CRLF & _
"192.168.1" & @CRLF & _
"1" & @CRLF & _
"1." & @CRLF & _
"1.1" & @CRLF & _
"1.1." & @CRLF & _
"1.1.1" & @CRLF & _
"1.1.1." & @CRLF & _
"1.1.1.1." & @CRLF & _
"1.1.1.1.1" & @CRLF & _
".1.1.1.1" & @CRLF & _
"1.0.0.1.0" & @CRLF & _
"010.1.1.1" & @CRLF & _
"123456" & @CRLF & _
"123123123123" & @CRLF & _
".127.0.0.1" & @CRLF & _
"192.168.0.1000" & @CRLF & _
"300.168.0.1" & @CRLF & _
"192.168.0.1." & @CRLF & _
"192.168.0..1" & @CRLF & _
"192.16a8.0.1" & @CRLF & _
"123.234.345" & @CRLF & _
"123.123" & @CRLF & _
"11.11.1" & @CRLF & _
".192.168.0.1" & @CRLF & _
".192.168.0." & @CRLF & _
".192.168.0" & @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