Python解析数学文本表达式

时间:2015-05-18 12:33:45

标签: python regex math eval

我想知道是否有人知道一个好的python库来评估基于文本的数学表达式。例如,

>>> evaluate("Three plus nine")
12

>>> evaluate("Eight + two")
10

我已经看过人们为字符串中的数值和运算符所做的类似示例。 onMouseDown。并One method used eval to compute the literal value of the expression

如果没有现有的库可以处理这个问题,我可能会最终使用正则表达式和eval技术的组合。我只是想确认已经有类似的东西已经存在。

1 个答案:

答案 0 :(得分:3)

您可以尝试pyparsing,它执行一般的递归下降解析。事实上,here与你的第二个例子非常接近。

关于您的其他建议。