#include <MsgBoxConstants.au3> ; to declare the Constants of MsgBox
Local $sRegex = "(?m)((\+?\d{1,3}[\d{2,}\.\- \(\)]{11,}))|(\+?[\d]{10,})"
Local $sString = "Приветствую!" & @CRLF & _
"Можете помочь составить регулярное выражение чтобы вырезать номера телефонов из текста?" & @CRLF & _
"Для чего это нужно?" & @CRLF & _
"Для вырезки из текста +22 (999) 555-66-29 формы сообщения - телефонов спамеров." & @CRLF & _
"" & @CRLF & _
"Вариантов написания телефонов достаточно много." & @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 & _
"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 & _
"и вместо цифры страны с оной цифрой 7, есть коды по 2 и по 3 цифры." & @CRLF & _
"Можно придумать и ещё много вариантов написания номера телефона." & @CRLF & _
"Как это всё учесть в выражении?" & @CRLF & _
"В тексте могут содержаться ссылки +555 (999) 555-66-29 на фотографии и ссылки на страницы сайта, в которых могут быть цифры. Как не зацепить цифры в ссылках? Как их отсортировать от номеров телефонов?" & @CRLF & _
"Можете помочь?"
Local $sSubst = "убито "
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