Regex Python para corresponder ao início da string ou espaço em branco
Eu tenho a seguinte string
'abc[123]defgh ijk[456]lm no[78] pq'
E eu gostaria de extrair todas as partes que estão entre o início da string e[
ou entre espaço em branco e[
. Para a sequência especificada, essas são as partes'abc'
, 'ijk'
e'no'
.
Eu tenho a seguinte expressão
exp = re.compile(r'\s(.*?)\[')
Mas não consigo descobrir como adicionar o início da string como uma expressão opcional. Como preciso escrever a expressão para cobrir os dois casos?