我的问题是this one的变体。我好像搞不懂这个。
given = "{abc, xyz}, 123, {def, lmn, ijk}, {uvw}, opq"
expected = ["{abc, xyz}", "123", "{def, lmn, ijk}", "{uvw}", "opq"]
如上例所示,
expected
中的项可以是{..., ...}
或只是另一个string
。多谢提前。
最佳答案
我认为下面的regexp适合这个工作。无论如何,您不必有嵌套的花括号(据我所知,嵌套的花括号不能用正则表达式解析)
>>> s= "{abc, xyz}, 123, {def, lmn, ijk}, {uvw}, opq"
>>> re.findall(r",?\s*(\{.*?\}|[^,]+)",s)
['{abc, xyz}', '123', '{def, lmn, ijk}', '{uvw}', 'opq']
关于python - Python:按模式分割字符串,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/21423877/