jExParserJava表达式解析求值程序
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
评论
expression-analyzerjava 公式解析 表达式解析
基于有限自动机和LL(1)分析法实现的公式解析器,使用java语言开发,具备以下功能:1)
expression-analyzerjava 公式解析 表达式解析
0
expression-analyzerjava 公式解析 表达式解析
基于有限自动机和LL(1)分析法实现的公式解析器,使用java语言开发,具备以下功能:1) 实现了算术和逻辑表达式的解析,可使用单条或多条语句,表达式中可使用注释; 2)
expression-analyzerjava 公式解析 表达式解析
0
SimpleEL表达式解析引擎
SimpleEL是一个表达式解析引擎。它将表达式解析分成四个部分:预处理、编译、缓存和执行。这四个步骤任意一部分都可以替换,类似设计模式中的TemplateMethod。缺省的实现是:将表达式处理成J
SimpleEL表达式解析引擎
0