import re
from pprint import pprint
pattern = r"\w+(\.?\w+)*"
string = """this is some test string and there are some digits as well that need to be captured as well like 1234567890 and 321 etc. But it should also select _ as well. I'm pretty sure that that RE does exactly the same.
... Oh wait, it also need to filter out the symbols like !@#$%^&*()-+=[]{}.,;:'"`| \(`.`)/
... 
... I guess that's it."""
pprint(re.findall(r"\w+(?:\.?\w+)*", string, re.A))