#include <StringConstants.au3> ; to declare the Constants of StringRegExp
#include <Array.au3> ; UDF needed for _ArrayDisplay and _ArrayConcatenate
Local $sRegex = "(?m)^(?:(52\-)|(1\-))?(\()?(?(1)[0-9]{2,3}|[2-9][0-9]{2})(?(3)\)\s?|(\-|[.]|\s|))(?(1)[0-9]|[2-9])[0-9]{2}(?(4)\4|(?:\-|[.]|\s)?)[0-9]{4}(\s?(?:x|ext|ext.|extension|Ext|Ext.|Extension|#)\s?[0-9]+)?$"
Local $sString = "Regular valid formats" & @CRLF & _
                "" & @CRLF & _
                "225-586-7777" & @CRLF & _
                "(223)249-4444" & @CRLF & _
                "(223) 234-3344" & @CRLF & _
                "223.456.2222" & @CRLF & _
                "2253451111" & @CRLF & _
                "223 334 4444" & @CRLF & _
                "" & @CRLF & _
                "1-325-586-7777" & @CRLF & _
                "1-(923)249-4444" & @CRLF & _
                "1-(923) 234-3344" & @CRLF & _
                "1-923.456.2222" & @CRLF & _
                "1-9253451111" & @CRLF & _
                "1-923 234 4444" & @CRLF & _
                "" & @CRLF & _
                "52-125-586-7777" & @CRLF & _
                "52-(123)249-4444" & @CRLF & _
                "52-(123) 234-3344" & @CRLF & _
                "52-123.456.2222" & @CRLF & _
                "52-1253451111" & @CRLF & _
                "52-123 134 4444" & @CRLF & _
                "" & @CRLF & _
                "Valid formats with extensions" & @CRLF & _
                "" & @CRLF & _
                "1-800-661-3696 x14700" & @CRLF & _
                "1-800-661-3696x14700" & @CRLF & _
                "1-800-661-3696 Extension 14700" & @CRLF & _
                "1-800-661-3696 ext14700" & @CRLF & _
                "" & @CRLF & _
                "325-586-7777 x123" & @CRLF & _
                "(323)249-4444x123" & @CRLF & _
                "(323) 234-3344 Ext 123" & @CRLF & _
                "323.456.2222 ext 124" & @CRLF & _
                "3253451111ext. 123" & @CRLF & _
                "323 334 4444extension234" & @CRLF & _
                "(223)456 7891 x 123" & @CRLF & _
                "(223)456 7891 ext 123" & @CRLF & _
                "(223)456 7891 ext. 123" & @CRLF & _
                "(223)456 7891 Ext 123" & @CRLF & _
                "(223)456 7891 Ext. 123" & @CRLF & _
                "(910)456-8970 x12" & @CRLF & _
                "(910)456-8970 #12" & @CRLF & _
                "(910)456-8970 extension12456" & @CRLF & _
                "(910)456-8970 Extension 12456" & @CRLF & _
                "" & @CRLF & _
                "Invalid formats" & @CRLF & _
                "" & @CRLF & _
                "444000-1111" & @CRLF & _
                "444-0001111" & @CRLF & _
                "444.000-1111" & @CRLF & _
                "444000 1111" & @CRLF & _
                "444 0001111" & @CRLF & _
                "444 000.1111" & @CRLF & _
                "444.0001111" & @CRLF & _
                "444000.1111" & @CRLF & _
                "444-000.1111" & @CRLF & _
                "(4440001111" & @CRLF & _
                "444)0001111" & @CRLF & _
                "440001111" & @CRLF & _
                "444000111111" & @CRLF & _
                "" & @CRLF & _
                "125-586-7777" & @CRLF & _
                "(123)249-4444" & @CRLF & _
                "(123) 234-3344" & @CRLF & _
                "123.456.2222" & @CRLF & _
                "1253451111" & @CRLF & _
                "123 134 4444" & @CRLF & _
                "" & @CRLF & _
                "125-586-7777" & @CRLF & _
                "(123)249-4444" & @CRLF & _
                "(123) 234-3344" & @CRLF & _
                "123.456.2222" & @CRLF & _
                "1253451111" & @CRLF & _
                "123 134 4444" & @CRLF & _
                "" & @CRLF & _
                "Invalid formats with extensions" & @CRLF & _
                "" & @CRLF & _
                "12-125-586-7777" & @CRLF & _
                "12-(123)249-4444" & @CRLF & _
                "12-(123) 234-3344" & @CRLF & _
                "12-123.456.2222" & @CRLF & _
                "12-1253451111" & @CRLF & _
                "12-123 134 4444" & @CRLF & _
                "" & @CRLF & _
                "12-444000-1111" & @CRLF & _
                "12-444-0001111" & @CRLF & _
                "12-444.000-1111" & @CRLF & _
                "12-444000 1111" & @CRLF & _
                "12-444 0001111" & @CRLF & _
                "12-444 000.1111" & @CRLF & _
                "12-444.0001111" & @CRLF & _
                "12-444000.1111" & @CRLF & _
                "12-444-000.1111" & @CRLF & _
                "12-(4440001111" & @CRLF & _
                "12-444)0001111" & @CRLF & _
                "12-440001111" & @CRLF & _
                "12-444000111111" & @CRLF & _
                "" & @CRLF & _
                "1-888-720-1275 x2 x2" & @CRLF & _
                "1-888-720-1275 2" & @CRLF & _
                "1-888-720-1275 x" & @CRLF & _
                "1-888-720-1275 Ext" & @CRLF & _
                "888-720-1275x" & @CRLF & _
                "" & @CRLF & _
                "1-444000-1111" & @CRLF & _
                "1-444-0001111" & @CRLF & _
                "1-444.000-1111" & @CRLF & _
                "1-444000 1111" & @CRLF & _
                "1-444 0001111" & @CRLF & _
                "1-444 000.1111" & @CRLF & _
                "1-444.0001111" & @CRLF & _
                "1-444000.1111" & @CRLF & _
                "1-444-000.1111" & @CRLF & _
                "1-(4440001111" & @CRLF & _
                "1-444)0001111" & @CRLF & _
                "1-440001111" & @CRLF & _
                "1-444000111111"
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