Как при помощи регулярных выражений оставить строки определенного формата

Есть вот у меня такая строка

7(917) 123-16-23 7(927) 123-14-11 -     -      5

как в питоне при помощи регулярных выражений можно оставить только те цифры которые попадают под такой шаблон? (цифра, скобка, цифра, цифра, цифра, скобка, пробел, цифра....)


Ответы (1 шт):

Автор решения: gil9red

Попробуйте:

import re

text = "7(917) 123-16-23 7(927) 123-14-11"

print(re.findall(r'\d\(\d{3}\) \d{3}-\d\d-\d\d', text))
# ['7(917) 123-16-23', '7(927) 123-14-11']

Если несколько шаблонов разделяйте их вертикальной чертой, пример:

pattern = r'\d\(\d{3}\) \d{3}-\d\d-\d\d|\+\d \d{3} \d{3}-\d\d-\d\d'
text = "7(917) 123-16-23 +7 927 123-14-11 7(927) 123-14-11"

print(re.findall(pattern, text))
# ['7(917) 123-16-23', '+7 927 123-14-11', '7(927) 123-14-11']
→ Ссылка