Адекватное регулярное выражение для поиска номеров телефонов СНГ
нужно рабочее регулярное выражение на python для поиска номеров телефонов СНГ. для телефонов нашел такое регулярное выражение:
r'(\+7|8|7).*?(\d{3}).*?(\d{3}).*?(\d{2}).*?(\d{2})'
но она собирает не только телефоны, но и всякий мусор вроде 83423
есть у кого более совершенное решение, чтобы собирала телефоны в форматах например +7 911 912 92 92 или 79119129292 или 8911912 92 92 итп, но отсеивала просто наборы цифр вроде 8974353 или 7942657658794532453 итп?
Ответы (1 шт):
Автор решения: finally
→ Ссылка
ориентируясь на тесты, которые вы приложили, это должно подойти:
pattern = \b\+?[7,8](\s*\d{3}\s*\d{3}\s*\d{2}\s*\d{2})\b
я выделил первой группой только сам номер, если нужно достать full match, то пишите .group()