User提供包含Python表达式的字符串:"a==(1,1) and {b==2 or c==foo}"
。
我正在尝试编写一个检查以下规则的解析器:
or
或and
)之前和之后需要有空格a ==(1,1)
无效)我发现了“解析器”模块,但我不确定我是否理解它。
通过多个正则表达式建立所有规则(通过char读取字符串char并确保满足规则)非常繁琐。
解决这个问题最优雅的方法是什么?
答案 0 :(得分:0)
我说的最优雅的方式是使用像pyparsing这样的东西,一个真正的解析器和“pythonic”易用性。
对于小型项目来说可能有点过分,但是开始并不难,并且会在语法上有很大的增长。软件需求总是朝着一个方向发展,因此我建议尝试一下。