Python 我需要一种按词汇分割字符串的方法
例如,如果给我这个字符串Python 我需要一种按词汇分割字符串的方法,python,lexical-analysis,Python,Lexical Analysis,例如,如果给我这个字符串 "asdf bob(1, 2, "a")" 我想把它分成两份 ["asdf", "bob", [1, 2, "a"]] 我尝试过使用SHLEX,但似乎太简单了。它不会将括号拆分为不同的数组,也不会正确拆分逗号 现在,我知道我可以用一些for循环和一些技巧来实现这一点,但我想为这节省空间、时间和速度。谢谢你的帮助 另外,它应该能够拆分多行,例如,如果我有函数 " desu(1, 2){ \n asdf \n }
"asdf bob(1, 2, "a")"
我想把它分成两份
["asdf", "bob", [1, 2, "a"]]
我尝试过使用SHLEX,但似乎太简单了。它不会将括号拆分为不同的数组,也不会正确拆分逗号
现在,我知道我可以用一些for循环和一些技巧来实现这一点,但我想为这节省空间、时间和速度。谢谢你的帮助
另外,它应该能够拆分多行,例如,如果我有函数
" desu(1, 2){ \n
asdf \n
} "
应拆分为
["desu", [1, 2], ["asdf"]]
将大括号拆分为不同的列表
这将节省很多时间!谢谢 你看过吗?这是一个通用的python解析模块,可以帮助您解决这个问题。Pyparsing可用于递归下降解析,如编程语言。对于不遵循已经实现的示例之一的语言,pyparsing模块具有相当陡峭的学习曲线。但是,对于您的语言,我认为您可能可以重用他们网站上的一个示例。您所描述的是一个解析树,它比简单的词法分析或标记化更进一步。我认为您希望查看AST模块了解这类内容,或者可能是pyBison或类似的东西。