Python 切片 - 除括号中的内容外的所有内容

Python slicing - everything but whats in brackets

我正在编写的这个程序接收到一个大小不同的字符串,其中包含不同大小的字符的不同数量的括号。
例如:wysextplwqpvipxdv[srzvtwbfzqtspxnethm]syqbzgtboxxzpwr
我希望能够将这个字符串分割成一个列表,其中包含所有不在括号中的部分的字符串。 例如:

list[0] = wysextplwqpvipxdv  
list[1] =syqbzgtboxxzpwr    

我知道 string.slice 并且我读过这个:Explain Python's slice notation
然而,我无法想到将其放入代码的方式。
挑战是不知道有多少个括号,但能够将字符串剪切到列表中。

在括号中使用 re.split (non-greedy) 正则表达式:

import re

s = "wysextplwqpvipxdv[srzvtwbfzqtspxnethm]syqbzgtboxxzpwr"

toks = re.split("\[.*?\]",s)

print(toks)

结果:

['wysextplwqpvipxdv', 'syqbzgtboxxzpwr']

警告:如果括号是嵌套的,这将不起作用。在这种情况下,您必须使用更复杂的解析器,例如 pyparsing

编辑:在那种情况下,可以使用正则表达式进行嵌套管理,因为我们只考虑括号外的级别。 regex to get all text outside of brackets 的新答案之一就是这样做的。