#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][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9]), (25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9]), (25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$"
Local $sString = "Min val is 0. Leading zeros don't " & @CRLF & _
"match unless the value is 0." & @CRLF & _
"0, 0, 0" & @CRLF & _
"00, 0, 0" & @CRLF & _
"0, 0, 00" & @CRLF & _
"" & @CRLF & _
"Max numeric number is 255, anything " & @CRLF & _
"larger than 255 will not match." & @CRLF & _
"255, 255, 255" & @CRLF & _
"255, 255, 256" & @CRLF & _
"" & @CRLF & _
"4-Digit numbers will not match" & @CRLF & _
"1, 11, 111" & @CRLF & _
"11, 111, 1111" & @CRLF & _
"" & @CRLF & _
"dangling commas do not match" & @CRLF & _
"45, 67, 89" & @CRLF & _
"45, 67, 89," & @CRLF & _
"" & @CRLF & _
"Obviously if a dangling comma doesn't " & @CRLF & _
"match, neither will 4 numbers." & @CRLF & _
"1, 2, 3" & @CRLF & _
"1, 2, 3, 4" & @CRLF & _
"" & @CRLF & _
"Two numbers do not match, and adding a space," & @CRLF & _
"or space & comma, doesn't match either." & @CRLF & _
"0, 1, 2" & @CRLF & _
"0, 1" & @CRLF & _
"0, 1," & @CRLF & _
"0, 1, " & @CRLF & _
"" & @CRLF & _
"Single numbers do not match; adding a space &/or" & @CRLF & _
"comma, will not cause the single number to match." & @CRLF & _
"9, 9, 9" & @CRLF & _
"9" & @CRLF & _
"9," & @CRLF & _
"9, "
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