Python正则表达式匹配字符串或空格的开头

ste*_*ter 5 python regex string

我有以下字符串

'abc[123]defgh ijk[456]lm no[78] pq'
Run Code Online (Sandbox Code Playgroud)

我想提取所有在字符串的开头之间[或在空格和之间的部分[.对于给定的字符串,这些都是部分'abc','ijk''no'.

我有以下表达式

exp = re.compile(r'\s(.*?)\[')
Run Code Online (Sandbox Code Playgroud)

但我无法弄清楚如何将字符串的开头添加为可选表达式.我如何编写表达式来涵盖这两种情况?

p.s*_*w.g 6

试试这种模式:

(?:^|\s)(.*?)\[
Run Code Online (Sandbox Code Playgroud)

start anchor(^)匹配字符串的开头(或MULTILINE模式中的行).