作为我的项目的一部分我一直在用java中的reg-ex来评估算术表达式。使用java解析类似于http://integrals.wolfram.com/index.jsp的写入INTEGRATOR
表达式是这样的:2 + 3/4(5 + 7)
第一我将其修改为这样的:2 + 3/4 *(5 + 7)
并将其转换为后缀
后缀:23457 + */+
我已经采用了在解析的所有令牌的步骤(即整数,操作员打开括号,括号关闭),使用REG-Ex和然后由异排序他们的发生位置。之后,我将这个令牌数组转换为post-fix表达式,然后解决这个表达式,直到这一点,每件事情都正常工作。
现在我想扩展它来求解差分,积分或求解二次方程。
敌人例如:区分或集成的x^2 + 2 * X + 2
类似http://integrals.wolfram.com/index.jsp表达
这可能吗?因为现在我没有任何线索怎么处理呢?
问题是什么?如何计算积分(例如)?如何解析它们? – amit 2012-08-16 07:30:56
嗯,一件事你不应该依靠正则表达式来解析你的表情。如果数字长度超过一位,您刚刚给出的示例将不起作用。你应该定义你的语法,并使用解析器生成工具,如antlr(http://www.antlr.org/) – 2012-08-16 07:32:56
@amit是的,这正是我的问题。 – Dude 2012-08-16 07:34:22