import re
s = 'nums here (111)123-4567 or (1-800-111-2222)(123)1234567 or 321-123-4567 or ( 112)123-4567 or (113 )123-4567'
Моя цель - получить все номера телефонов от s
.
Из выбора вариантов телефонных номеров с помощью регулярных выражений Я пытаюсь сделать следующее:
reg = r'\d{3}-\d{3}-\d{4}|\(\s*\d{3}\s*\)\d{7}|\(\s*\d{3}\s*\)\s*\d{3}-\d{4}'
r1 = re.findall(reg,s)
r1
Что дает мне то, что я хочу
['(111)123-4567',
'800-111-2222',
'(123)1234567',
'321-123-4567',
'( 112)123-4567',
'(113 )123-4567']
Тем не менее, я хотел бы (1-800-111-2222)
вместо частичного 800-111-2222
Мой желаемый вывод следующий
['(111)123-4567',
'(1-800-111-2222)',
'(123)1234567',
'321-123-4567',
'( 112)123-4567',
'(113 )123-4567']
Как мне изменить
reg = r'\d{3}-\d{3}-\d{4}|\(\s*\d{3}\s*\)\d{7}|\(\s*\d{3}\s*\)\s*\d{3}-\d{4}'
, чтобы получить желаемый результат?