#include <MsgBoxConstants.au3> ; to declare the Constants of MsgBox
Local $sRegex = "(?im)((\+|\d|\(|(<.*?>))[\d\-\(\)\. ]{9,}(\.|\n| |<\/.*>)(?!(png|jpg|<)))"
Local $sString = "Приветствую! " & @CRLF & _
"Можете помочь составить регулярное выражение чтобы вырезать номера телефонов из текста?" & @CRLF & _
"Для чего это нужно?" & @CRLF & _
"Для вырезки из текста формы сообщения - телефонов спамеров." & @CRLF & _
"<p style="text-align: center;">(333) 4444 4444</p>" & @CRLF & _
"<span style="text-align: center;">1234567890</span>" & @CRLF & _
"<li style="text-align: center;">(999) 9 888 7777</li>" & @CRLF & _
"<p style="text-align: left;">12345 1234</p>" & @CRLF & _
"Вариантов написания телефонов +22 (999) 555-66-29 достаточно много." & @CRLF & _
"Как учесть все варианты я не понимаю." & @CRLF & _
"Телефоны имеют разное количество цифр: 10, 11, 12." & @CRLF & _
"Разное написание:" & @CRLF & _
"+7 999 999 99 99 " & @CRLF & _
"7 999 999 99 99" & @CRLF & _
"+7999 999 99 99" & @CRLF & _
"7999 999 99 99" & @CRLF & _
"+7999-999-99-99" & @CRLF & _
"+7 999 999 99 99 " & @CRLF & _
"7999-999-99-99" & @CRLF & _
"+7999-999-9999" & @CRLF & _
"7999-999-9999" & @CRLF & _
"+7999-9999999" & @CRLF & _
"7999-9999999" & @CRLF & _
"+79999999999" & @CRLF & _
"79999999999" & @CRLF & _
"+7.999.999.99.99" & @CRLF & _
"+7(999) 999-99-99" & @CRLF & _
"+123 (999) 555-66-29" & @CRLF & _
"1_2017092902182426089.jpg" & @CRLF & _
"123451_2017092902182426089.png" & @CRLF & _
"6644123451_2017092902182426089.png" & @CRLF & _
"" & @CRLF & _
"и вместо цифры страны с оной цифрой 7, есть коды по 2 и по 3 цифры. 7999659999999 jgjhgjkgjk" & @CRLF & _
"Можно придумать и ещё много вариантов написания номера телефона." & @CRLF & _
"Как это +7.999.999.99.99 всё учесть в выражении?" & @CRLF & _
"В тексте могут содержаться ссылки +555 (999) 555-66-29 на фотографии и ссылки на страницы сайта, в которых могут быть цифры. Как не зацепить цифры в ссылках? Как их отсортировать от номеров телефонов?" & @CRLF & _
"Можете помочь?"
Local $sSubst = "-kill-"
Local $sResult = StringRegExpReplace($sString, $sRegex, $sSubst)
MsgBox($MB_SYSTEMMODAL, "Result", $sResult)
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