我有一个文本框输入数学公式推inlcude +
,-
,*
,/
,(,)
,TRUNC
,ROUND
,POWER
,MOD
,SQRT
,FLOOR
,DECODE
。用户输入公式字符串后,我想验证这个字符串,但我不知道如何? 请帮我一把。如何使用正则表达式验证数学表达式字符串?
0
A
回答
2
不幸的是,你不能使用正则表达式验证这样的表达式。正则表达式的本质是如此,以至于您永远无法验证匹配的括号。正则表达式很简单。
欲了解更多信息,为什么它是如此:http://en.wikipedia.org/wiki/Regular_expression
为了验证/分析或评估你需要一个上下文无关文法分析数学表达式。使用解析器生成器可以相对简单地生成一个。我会建议
- 的JavaCC:https://javacc.java.net/
- ANTLR的:http://www.antlr.org/
0
看看this question on Code Review。它显示了解析这些表达式的一些代码,并且答案给出了如何替代使用Java附带的脚本引擎的示例。
相关问题
- 1. 使用正则表达式验证数学表达式?
- 2. 如何使用正则表达式验证数学公式表达式
- 3. Rails验证使用正则表达式验证字符串?
- 4. 正则表达式来验证练成像数学表达式
- 5. 如何使用MVVM验证字符串/正则表达式?
- 6. 如何使用java正则表达式验证字符串?
- 7. ASP.Net正则表达式(%符号)正则表达式验证器
- 8. 字符串使用正则表达式替换正则表达式字符类
- 9. 使用正则表达式验证字符串
- 10. 使用正则表达式验证字符串
- 11. 使用正则表达式在变量中验证字符串
- 12. 验证输入字符串 “RX-EZ12345678912345B” 使用正则表达式
- 13. 使用正则表达式验证十六进制字符串
- 14. 使用正则表达式验证字符串
- 15. 使用正则表达式验证Java字符串
- 16. 验证字符串使用正则表达式
- 17. 正则表达式模型验证(数字或空字符串)
- 18. 如何验证字符串是否是正则表达式?
- 19. 正则表达式的正则表达式的Java字符串
- 20. 正则表达式正则表达式匹配字符串
- 21. 正则表达式(正则表达式)的子字符串
- 22. Javascript正则表达式 - 正则表达式拆分字符串
- 23. 正则表达式验证
- 24. 正则表达式验证
- 25. 正则表达式验证
- 26. 正则表达式验证
- 27. 正则表达式验证
- 28. 正则表达式验证
- 29. (教学)的JavaScript - 使用正则表达式(正则表达式)
- 30. 数学正则表达式表达
请提供样品的输入和输出.. – TheLostMind
同样的事情与XML:你不能解析具有单一正则表达式的递归结构。 – Holger