#include <StringConstants.au3> ; to declare the Constants of StringRegExp
#include <Array.au3> ; UDF needed for _ArrayDisplay and _ArrayConcatenate
Local $sRegex = "(?i)(?=.*?\d{3}( |-|.)?\d{4})((?:\+?(?:1)(?:\1|\s*?))?(?:(?:\d{3}\s*?)|(?:\((?:\d{3})\)\s*?))\1?(?:\d{3})\1?(?:\d{4})(?:\s*?(?:#|(?:ext\.?))(?:\d{1,5}))?)\b"
Local $sString = "+1-855-419-0101 #807" & @CRLF & _
"1-855-419-0101 ext807" & @CRLF & _
"Tél.: 450-419-0100 #807" & @CRLF & _
"1 877 776-5743" & @CRLF & _
"1 877 776 5743 patate" & @CRLF & _
"1 877 776 57433" & @CRLF & _
"1 877 776 5743" & @CRLF & _
"3877 776 5743" & @CRLF & _
"514 555 9457" & @CRLF & _
"(514)555-9457" & @CRLF & _
"(514) 555-9457 Ext.333" & @CRLF & _
"15145557984" & @CRLF & _
"514.795.7777"
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