例如,如果我给这个字符串
"asdf bob(1, 2, "a")"
我希望将其拆分为
["asdf", "bob", [1, 2, "a"]]
我尝试过使用SHLEX,但似乎太简单了。它不会将括号拆分为不同的数组,也不会正确地拆分逗号。
现在,我知道我可以用一些for循环和一些技巧来做这件事,但我想节省空间,时间和速度。我将不胜感激,谢谢!
P.S。它应该能够分割多线,所以如果我有功能,例如。
" desu(1, 2){ \n
asdf \n
} "
应分为
["desu", [1, 2], ["asdf"]]
将curley braces分成不同的列表。
这会节省很多时间!谢谢!
答案 0 :(得分:1)
你看过pyparsing了吗?这是一个通用的python解析模块,可以帮助你。 Pyparsing可用于递归下降解析,例如编程语言。对于不遵循已经实现的示例之一的语言,pyparsing模块具有相当陡峭的学习曲线。但是,对于您的语言,我认为您可以重复使用其网站上的一个示例。