Вот код:
import re
text = 'aaa ,./;hgk bbb !@7ts0 ccc 4r4r ddd'
ex = re.split(r'(aaa).+?(bbb)?.+?(ccc)?.+?(ddd)', text)
print(ex) # ['', 'aaa', None, None, 'ddd', '']
Мне нужно вытащить из строки слова
aaa,
bbb,
ccc и
ddd, однако bbb и ссс могут отсутствовать в строке, остальные же слова присутствуют 100%.
Регулярное выражение, которое я составил, не работает, как видите в коде, bbb и ссс не вытаскиваются почему-то. Однако, если убрать из выражения вопросительные знаки возле слов (bbb)? и (ссс)?, то всё работает. Но их нельзя убирать, потому что эти слова могут отсутствовать в строке поиска.