Luckily, Python has this built-in :)
import re
re.split('; |, ',str)
Update:
Following your comment:
>>> a='Beautiful, is; better*than
ugly'
>>> import re
>>> re.split('; |, |*|
',a)
['Beautiful', 'is', 'better', 'than', 'ugly']
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…