# If you'd like to omit non-matching lines from the result; add ';d' to the end of the expression.
sed -E 's/((\+?\d{1,3}[\d{2,}\.\- \(\)]{11,}))|(\+?[\d]{10,})/убито /gm;t' <<< "Приветствую!
Можете помочь составить регулярное выражение чтобы вырезать номера телефонов из текста?
Для чего это нужно?
Для вырезки из текста +22 (999) 555-66-29 формы сообщения - телефонов спамеров.
Вариантов написания телефонов достаточно много.
Как учесть все варианты я не понимаю.
Телефоны имеют разное количество цифр: 10, 11, 12.
Разное написание:
+7 999 999 99 99
7 999 999 99 99
+7999 999 99 99
7999 999 99 99
+7999-999-99-99
7999-999-99-99
+7999-999-9999
7999-999-9999
+7999-9999999
7999-9999999
+79999999999
79999999999
+7.999.999.99.99
+7(999) 999-99-99
+123 (999) 555-66-29
и вместо цифры страны с оной цифрой 7, есть коды по 2 и по 3 цифры.
Можно придумать и ещё много вариантов написания номера телефона.
Как это всё учесть в выражении?
В тексте могут содержаться ссылки +555 (999) 555-66-29 на фотографии и ссылки на страницы сайта, в которых могут быть цифры. Как не зацепить цифры в ссылках? Как их отсортировать от номеров телефонов?
Можете помочь?"
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 SED, please visit: https://www.gnu.org/software/sed/manual/html_node/The-_0022s_0022-Command.html