jExParser 正在参加 2020 年度 OSC 中国开源项目评选,请投票支持!
jExParser 在 2020 年度 OSC 中国开源项目评选 中已获得 {{ projectVoteCount }} 票,请投票支持!
投票让它出道
已投票
授权协议: Apache
开发语言: Java
操作系统: 跨平台
收录时间: 2017-12-10
提 交 者: yong9981

jExParser 一个简单的Java表达式解析求值程序

在jSqlBox项目开发时写的一个简单的Java表达式解析求值程序,支持变量和参数,现将源码抽取出来,没有什么特别优点,唯一的长处就是简单,直接中缀求值,仅三个文件700行源码,无第三方库依赖。因为比较简单而且通常用于二次开发,所以没有做成包发布,如有项目中需要用到把源码拷过去就可以用了。 用法如下(或参考单元测试):

  Map<String, Object> keywords = new HashMap<String, Object>();
  keywords.put("USERNAME", "Tom");
  keywords.put("ID", "001");
  Assert.assertEquals(true, new ExParser().doParse(keywords,
    "(1+2)*3/4>0.1/(9+?) and (userName equals ?) or id equals ?", 100, "Tom", "001"));

ExParser类的doParse()方法解析一个表达式,返回类型可能为Boolean、Long、Double、String、null之一。 目前支持的操作符和函数如下:

>  <  =  >=  <=  
+  -  *  /  
or  and  not  
'  ( )  ?  0~9 . 
equals  equalsIgnoreCase  contains  containsIgnoreCase  
startWith  startWithIgnoreCase  endWith  endWithIgnoreCase
展开阅读全文

代码

的 Gitee 指数为
超过 的项目

jExParser 的相关资讯

还没有任何资讯

jExParser 的相关博客

还没有任何博客,写博客

jExParser 的相关问答

还没有任何问答,马上提问

评论 (0)

加载中
更多评论
0 评论
9 收藏
分享
返回顶部
顶部