Java 有什么解析逻辑表达式工具类么的

2020-02-01 16:04:36 +08:00
 alexfarm

想要解析类似(name=xxx AND age=xx) OR tel=xxxx 这样的表达式,java 中有这样的工具类去拆分 keyvalue 与 operator 么

场景主要是把逻辑表达式转换成 es 的查询语句,有点类似封装一层 kibana。

3576 次点击
所在节点    Java
8 条回复
Cbdy
2020-02-01 16:06:19 +08:00
可以试试 EL ( Spring )表达式和 ONGL 表达式。或者直接用嵌入 JVM 的 JS/Python 引擎
alexfarm
2020-02-01 16:13:38 +08:00
@Cbdy 好的,去看看~
zhuangzhuang1988
2020-02-01 16:31:59 +08:00
antlr 啊,很多用的,工具齐全,设计优良,而且可以编译给很多语言用
speedofstephen
2020-02-01 16:45:04 +08:00
spring 自己有一个哦。 就是 Spring 内部解析 Spel 的那个。 关键字 SpringExpressionParser
billlee
2020-02-01 17:15:58 +08:00
这个场景推荐 ANTLR 4
jimrok
2020-02-01 18:47:30 +08:00
ANTLR,去做吧
gowk
2020-02-01 19:06:37 +08:00
GitHub 搜 easy-rule
pythonee
2020-02-02 14:49:49 +08:00
可以自己手写下 parser

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/641419

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX