Украинские номера могут отображаться в разных форматах, например: +380445371428, + 38(044)5371428, +38(044)537 14 28, +38(044)537-14-28, +38(044) 537.14.28, 044.537.14.28, 0445371428, 044-537-1428, (044)537-1428, 044 537-1428 и т.д.
Ниже приведена моя реализация, но она не совсем правильна. Что мне нужно?
- Когда я копирую некоторые страницы веб-сайта, из всей скопированной информации я хочу извлечь Украинский номер отображается в этом формате (044-537-1428).
(^\+38?) # area code(not necessarily)
(\d{3}|\(\d{3}\)) # carrier code(usually starts with 0
(\s|-|\.)? # separator
(\d{3}|\(\d{3}\)) # first 3 digits
(\s|-|\.) # separator
(\d{4}) # last 4 digits
(\s*(ext|x|ext.)\s*(\d{2,5}))? # extension
)''', re.VERBOSE)
шаблон американского номера (согласно книге) выглядит следующим образом
phoneRegex = re.compile(r'''(
(\d{3}|\(\d{3}\))?
(\s|-|\.)
(\d{3})
(\s|-|\.)
(\d{4})
(\s*(ext|x|ext.)\s*(\d{2,5}))?
)''', re.VERBOSE)
Подробнее здесь: https://stackoverflow.com/questions/582 ... ne-numbers
Мобильная версия