#include <StringConstants.au3> ; to declare the Constants of StringRegExp
#include <Array.au3> ; UDF needed for _ArrayDisplay and _ArrayConcatenate
Local $sRegex = "(?m)^[ \t]*([0]|([-+]?(\d*\.)?\d+)(cm|mm|in|px|pt|pc|Q|em|ex|ch|rem|vw|vh|vmin|vmax|%)){1}([\t ]+([0]|([-+]?(\d*\.)?\d+)(cm|mm|in|px|pt|pc|Q|em|ex|ch|rem|vw|vh|vmin|vmax|%))){0,3}[\t ]*$"
Local $sString = "0" & @CRLF & _
" 0 " & @CRLF & _
"0px" & @CRLF & _
" 0px 0px 0px 0" & @CRLF & _
"0 0" & @CRLF & _
" 0cm 0px 0ch 0% " & @CRLF & _
" 0 0 " & @CRLF & _
"0 0 0" & @CRLF & _
" 0 0 0 " & @CRLF & _
"0 0 0 0" & @CRLF & _
"2px 0" & @CRLF & _
"+2px" & @CRLF & _
"-3px" & @CRLF & _
"0 2px" & @CRLF & _
" 3cm " & @CRLF & _
"0px" & @CRLF & _
"0px 0px 0px" & @CRLF & _
" 1px " & @CRLF & _
" 2px 2px " & @CRLF & _
" 3px 3px 3px " & @CRLF & _
" 4px 4px 4px 4px " & @CRLF & _
"+4px -4px -4px +4px " & @CRLF & _
"-1px " & @CRLF & _
" -2px -2px " & @CRLF & _
" -3px -3px -3px " & @CRLF & _
" -4px -4px -4px -4px " & @CRLF & _
"1% " & @CRLF & _
" 2% 2vh " & @CRLF & _
" 3vw 3vh 3% " & @CRLF & _
" 4cm 4pt -4vmin 4vmax " & @CRLF & _
"" & @CRLF & _
"# Errors - must not match" & @CRLF & _
" " & @CRLF & _
"00" & @CRLF & _
"0 0px 00 " & @CRLF & _
"1px-2px " & @CRLF & _
" 2px2px " & @CRLF & _
" 3pxf 3px 3px sdsd" & @CRLF & _
" 4px-4px 4px 4px " & @CRLF & _
"4px4px4px4px " & @CRLF & _
"4px 4px 4px 4-px " & @CRLF & _
"-4px-4px-4px-4px " & @CRLF & _
"--3px" & @CRLF & _
"+-3px" & @CRLF & _
"-4px-4px -4px- 4px " & @CRLF & _
"-4" & @CRLF & _
"+5" & @CRLF & _
"+0px -0" & @CRLF & _
"+0"
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