我有一个像“A AND B OR C AND(D OR E)”这样的字符串。我只想在这里解析逻辑表达式,是否有相同的Java Api。
这里A,B,C ......的形式是字符串,字符串,字符串(即键,值,运算符)
答案 0 :(得分:1)
首先,您需要修复要接受的表达式的语法。你写的:
“A和B或C和(D或E)”
是您的语言的示例字符串。首先,您需要定义可以使用BNF定义的语言。这将使您完全了解自己的语言。
然后您输入的任何任意表达式都需要进行解析。您可以创建expression tree
最后,您需要评估表达式树。
中给出了一个如何完成它的合理示例答案 1 :(得分:0)
使用Spring Expression - 支持AND OR NOT