Luckily, Python has this built-in 🙂
import re
re.split('; |, ', string_to_split)
Update:
Following your comment:
>>> a="Beautiful, is; better*than\nugly"
>>> import re
>>> re.split('; |, |\*|\n',a)
['Beautiful', 'is', 'better', 'than', 'ugly']