#include <StringConstants.au3> ; to declare the Constants of StringRegExp
#include <Array.au3> ; UDF needed for _ArrayDisplay and _ArrayConcatenate
Local $sRegex = "(?m)^([0-9]{2,3})([\s.-]?)([0-9]{3,4})([\s.-]?)([0-9]{4})$"
Local $sString = "55 1234 5678" & @CRLF & _
"614 123 4567" & @CRLF & _
"1234568791" & @CRLF & _
"55 555 5555" & @CRLF & _
"32 1123 3212 9999" & @CRLF & _
"asdasdasda" & @CRLF & _
"" & @CRLF & _
"" & @CRLF & _
"// For Mexico check length" & @CRLF & _
"if(chosenRegex === phoneMx) {" & @CRLF & _
" const phoneMxLenght = $.trim(value.replace(/[\s.-]?/g, '')).length;" & @CRLF & _
" if (phoneMxLenght !== 10) {" & @CRLF & _
" this.error = this.labels.errors.format;" & @CRLF & _
" return;" & @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