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