Pythonで複数のデリミタで文字列を分割する

オンラインでいくつかの答えを見つけましたが、私はここで必要とされると思われる正規表現の経験がありません。

私は、 ';' または ', &#39 のいずれかで分割する必要がある文字列を持っています。 つまり、セミコロンかコンマの後にスペースを置く必要があります。後続のスペースがない個々のカンマはそのままにしておきます

文字列の例。

"b-staged divinylsiloxane-bis-benzocyclobutene [124221-30-3], mesitylene [000108-67-8]; polymerized 1,2-dihydro-2,2,4- trimethyl quinoline [026780-96-1]"

は、以下を含むリストに分割する必要があります。

('b-staged divinylsiloxane-bis-benzocyclobutene [124221-30-3]' , 'mesitylene [000108-67-8]', 'polymerized 1,2-dihydro-2,2,4- trimethyl quinoline [026780-96-1]') 
ソリューション

幸いなことに、Pythonにはこれが組み込まれています :)

import re
re.split('; |, ',str)

Update:
あなたのコメントに続きます。

>>> a='Beautiful, is; better*than\nugly'
>>> import re
>>> re.split('; |, |\*|\n',a)
['Beautiful', 'is', 'better', 'than', 'ugly']
解説 (9)

str.replace('; ', ', ')を行い、次にstr.split(', ')を行う。

解説 (7)

このように、正規表現は次のようになります。

import re
# "semicolon or (a comma followed by a space)"
pattern = re.compile(r";|, ")

# "(semicolon or a comma) followed by a space"
pattern = re.compile(r"[;,] ")

print pattern.split(text)
解説 (1)