Wyrażenie regularne Pythona pasujące do początku łańcucha lub białych znaków
Mam następujący ciąg
'abc[123]defgh ijk[456]lm no[78] pq'
Chciałbym wyodrębnić wszystkie części, które są albo między początkiem ciągu, a[
lub między białymi znakami i[
. Dla danego ciągu są to części'abc'
, 'ijk'
, i'no'
.
Mam następujące wyrażenie
exp = re.compile(r'\s(.*?)\[')
Ale nie wiem, jak dodać początek łańcucha jako opcjonalne wyrażenie. Jak muszę napisać wyrażenie, aby objąć oba przypadki?