2012-03-07 70 views
1

我开发在Java程序,它会发现给定功能的整合。例如cos(x + 3x^2)。现在我想检查用户是否给出了正确的输入..我们可以在检查输入的有效性时使用任何正则表达式吗?例如,输入必须开始整合迹象,结束与dx.I想要的正则表达式将覆盖喜欢COS的情况下(COS(X + 5))等正则表达式验证的集成式(微积分)

回答

4

不能用于检查任何需要计数的正则表达式:它不够强大。理论上不可能使用正则表达式来验证字符串中括号是否平衡的简单问题。

你需要建立一个解析器你的表情。一个简单的自顶向下解析器可以做,或者你可以使用解析器生成器,比如ANTLR或JavaCC。您也可以为您的项目使用其中一个可用的open source expression languages