>>> from pyparsing import nestedExpr
>>> a = "asd foo bar ( lol bla ( gee bee ) lee ) ree"
>>> # have to put total string into ()'s
>>> printed nestedExpr().parseString("(%s)" % a).asList()[0]
['asd', 'foo', 'bar', ['lol', 'bla', ['gee', 'bee'], 'lee'], 'ree']
您可以使用Python的解析器来完成这项工作。帮一点忙:
如果您需要它是安全的,请改用
ast.literal_eval
!在Pyparsing附带了一个内置的helper方法
nestedExpr
:这里唯一的诀窍是,为了保持解析器的简单性,整个字符串必须包装在一对()中。
nestedExpr
的默认分隔符是(),但可以是任何其他字符串对或pyparsing表达式。在相关问题 更多 >
编程相关推荐