Я знайшов деякі відповіді в Інтернеті, але я не маю досвіду роботи з регулярними виразами, які, я вважаю, тут потрібні.
У мене є рядок, який потрібно розділити або символом ';', або ', ' Тобто це має бути або крапка з комою, або кома з пробілом. Окремі коми без кінцевих пробілів слід залишити без змін
Приклад рядка:
"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)
Оновлення:
Після вашого коментаря:
>>> a='Beautiful, is; better*than\nugly'
>>> import re
>>> re.split('; |, |\*|\n',a)
['Beautiful', 'is', 'better', 'than', 'ugly']
Ось так виглядає регекс:
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)