0

例如,如果给我这个字符串

"asdf bob(1, 2, "a")"

我希望它被拆分为

["asdf", "bob", [1, 2, "a"]]

我尝试过使用 SHLEX,但它似乎太简单了。它不会将括号拆分为不同的数组,也不会正确拆分逗号。

现在,我知道我可以用一些 for 循环和一些技巧来做到这一点,但我想为此节省空间、时间和速度。我会很感激一些帮助,谢谢!

PS它应该能够拆分多行,所以如果我有功能,例如。

"   desu(1, 2){    \n
        asdf       \n
    }               "

应该拆分为

["desu", [1, 2], ["asdf"]]

也将花括号拆分为不同的列表。

这样可以节省很多时间!谢谢!

4

1 回答 1

1

你看过pyparsing吗?这是一个通用的 python 解析模块,可以帮助你。Pyparsing 可用于递归下降解析,例如编程语言。对于不遵循已实现示例之一的语言,pyparsing 模块的学习曲线相当陡峭。但是,对于您的语言,我认为您可能可以重用他们网站上的示例之一。

于 2012-09-15T17:38:24.763 回答