Как использовать регулярку при чтении файла?

У меня есть файл в котором большой объем текста и мне нужно вытащить от туда все номера телефонов.

Регулярка которую хочу использовать +?(\d?)[\s-()]?(\d{3})[\s-()]?(\d{3})[\s-()]?(\d{2})[\s-()]?(\d{2})

Вот мой вариант, он останавливается на первых строках и не идет дальше. Ошибку не дает. Подскажите как можно улучить мой код или есть другие варианты?

import re
 
mass=[]
files = open("bigText.txt", 'r')
 
for line_u in files.readlines(): 
    pattern_u = re.compile(r'+?(\d?)[\s-()]?(\d{3})[\s-()]?(\d{3})[\s-()]?(\d{2})[\s-()]?(\d{2})')
    result_u = pattern_u.search(line_u)
 
    if result_u:
        result=result_u.group(0)
        mass.append(result)
mass=sorted(set(mass))
my_file = open("result2.txt", 'a')
 
 
for i in mass:
    my_file.write(i+"\n")
my_file.close()

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