2014-02-27 82 views
0

我有一个文本框输入数学公式推inlcude +-*/(,)TRUNCROUNDPOWERMODSQRTFLOORDECODE。用户输入公式字符串后,我想验证这个字符串,但我不知道如何? 请帮我一把。如何使用正则表达式验证数学表达式字符串?

+0

请提供样品的输入和输出.. – TheLostMind

+3

同样的事情与XML:你不能解析具有单一正则表达式的递归结构。 – Holger

回答

2

不幸的是,你不能使用正则表达式验证这样的表达式。正则表达式的本质是如此,以至于您永远无法验证匹配的括号。正则表达式很简单。

欲了解更多信息,为什么它是如此:http://en.wikipedia.org/wiki/Regular_expression

为了验证/分析或评估你需要一个上下文无关文法分析数学表达式。使用解析器生成器可以相对简单地生成一个。我会建议

上下文无关文法:http://en.wikipedia.org/wiki/Context-free_language

0

看看this question on Code Review。它显示了解析这些表达式的一些代码,并且答案给出了如何替代使用Java附带的脚本引擎的示例。

相关问题