import re
text = """John................. .............222-333-4447....... .. 423-444-5678 .... .................123-455-1223............... ........Paul... ......423-444-5778....................................... – 
Nithin"""
pattern=r"(\w+)((?:[\s:.]*\d+[-—–]\d+[-—–]\d+)+)"
print( [(x, " ".join(y.replace('.','').split())) for x,y in re.findall(pattern, text)] )