我有一个文本框来输入数学公式包括+
,-
,*
,/
,(,)
,TRUNC
,{ {1}},ROUND
,POWER
,MOD
,SQRT
,FLOOR
。用户输入公式字符串后,我想验证这个字符串,但我不知道如何???
请帮帮我。
答案 0 :(得分:2)
很遗憾,您无法使用正则表达式验证此类表达式。正则表达式的本质是这样的,你永远不能验证匹配的括号。正则表达式只是虚弱。
有关详情,请参阅:http://en.wikipedia.org/wiki/Regular_expression
为了验证/解析或评估数学表达式,您需要一个无上下文语法分析器。您可以使用解析器生成器之一生成一个相对简单的方法。我会推荐
答案 1 :(得分:0)
看看this question on Code Review。它显示了一些用于解析此类表达式的代码,答案给出了如何使用Java附带的脚本引擎的示例。