`
linliangyi2007
  • 浏览: 1012964 次
  • 性别: Icon_minigender_1
  • 来自: 福州
社区版块
存档分类
最新评论

发布IK Expression开源表达式解析器 V2.1.2

阅读更多
Version2.1.2的变更:

1.根据网友提出的要求,修订了对未声明变量的处理,早期版本不允许变量未申明,将抛出异常。新版本将未申明变量视为 null,这样解决了上下文中对不存在的变量的判断问题,如 “variable == null”将返回 true。


下载地址:
IKExpressionV2.1.2 完整发布包

IKExpressoin简易表达式引擎V2.1.0使用说明.pdf

google code开源地址:http://code.google.com/p/ik-expression/

更多详细请参阅RAR包内的《IKExpressoin简易表达式引擎V2.1.0使用说明.doc》文档
分享到:
评论
50 楼 shaguofen 2015-01-13  
你好,谷歌code国内连接不上,是否可以发一份源码给我呢,万分感谢!
shaguofen@126.com
49 楼 qz6253108 2013-09-25  
你好,我想请问一下是否可以将短路逻辑设计得更好一点,比如现在有一个布尔表达式求值:
  "var1 != null && var1 > 【2013-09-24】"
如果变量var1为空,那么整个表达式求值时会抛出异常,而不是短路直接返回false。

目前我在使用yaml和IKExpression综合做一些根据配置控制流程的事情,这种优先短路逻辑非常重要;而且我觉得这样优先短路会不会简化一些语法检查的效率损耗。
48 楼 pcsue 2013-08-12  
你好,我想问一下,表达式解析器中对符号":"作了限制,即必须连同符号"?"一起出现才能编译成功。但在自定义函数的过程中,我需要写一个表达式如下:
$SUM(A1:C1)
这个表达式主要是想模拟EXECL的SUM函数。在EXECL中":"代表是A1,B1,C1这三个区域块相加
现在我想单独使用符号":",却被提示表达式出错,原因是没有符号"?"
我想问一下,如果我想单独使用符号":"的话请问可以有什么办法解决?
还有我看了google上对IK Expression的介绍,说可以模拟Excel电子表格的公式运算的场景。但我看了文档,似乎对这方面说的比较少。请问有没有相关的文档可以学习一下?因为我想了解一下对Excel公式的模拟可以支持到什么程度。谢谢!
47 楼 choosehappen 2013-03-26  
lovit 写道
linliangyi2007 写道
lovit 写道
你好,我用FunctionLoader.addFunction的方法,注册函数,有没有一个清空重新注册的方法?谢谢!!


目前暂时没有,清空后回将已有的系统函数也一并清了。可以考虑在后面的版本中加上对用户注册函数的管理。



期待。。。。


遇到同样问题
46 楼 wdl19871007 2012-11-02  
public List getTokens(String str) throws Exception{
ExpressionReader r = new ExpressionReader(str);
List<String> list = new ArrayList<String>();
Element e = null;
while((e = r.readToken()) != null){
String txt = e.getText();
list.add(txt);
System.out.println(txt+" ");
}
return list;
}

这样一段代码,去获取表达式中的的每个成员,“abc123”获得的只有一个“abc123”,但是如果换成“123abc”,获得的就是两个:123,abc


不知道算不算个小问题?
45 楼 linliangyi2007 2012-08-17  
longhua828 写道
IK 可能解析执行对象方法吗?


可以将对象的方法映射成表达式的函数,就可以执行了
44 楼 longhua828 2012-08-16  
IK 可能解析执行对象方法吗?
43 楼 lgyan 2011-07-14  
关于统计函数应该如何实现
比如输入变量A和B为两个一维数组。
现在要对其进行求和 Sum(A/B)
即遍历A和B的每一项做A/B,然后将结果求和,这个该如何实现呢?
即自定义函数Sum内还是一个表达式。
谢谢。
42 楼 firecool 2010-06-28  
數據庫是不可能挂的,而且只是再執行之初讀一次數據庫,這樣可以做到動態註冊函數了。如果我想作一個基於表達式的函數,配置文件沒必要了。
41 楼 linliangyi2007 2010-06-27  
firecool 写道
还有另外一个问题,现在我的系统根本不需要你的那个配置文件,所有的自定义函数可能会保存在数据库中,这样才能借助你的系统实现一些高级功能,但是现在系统必须要配置文件IKExpression.cfg.xml才能执行,能不能在下个版本中,让没有配置文件也能够正常执行?


有没有考虑过数据库挂掉的情况啊,配置和放数据库还是有差异的。当然可以考虑抽象一个string的接口,来读取字符型的配置。
40 楼 firecool 2010-06-27  
还有另外一个问题,现在我的系统根本不需要你的那个配置文件,所有的自定义函数可能会保存在数据库中,这样才能借助你的系统实现一些高级功能,但是现在系统必须要配置文件IKExpression.cfg.xml才能执行,能不能在下个版本中,让没有配置文件也能够正常执行?
39 楼 firecool 2010-06-27  
linliangyi2007 写道
firecool 写道
能不能增加对BigDecimal数据类型的支持,因为我需要计算金钱

这个可以有

说明时候能够支持,因为我不能直接改你的代码使用啊。
38 楼 linliangyi2007 2010-06-27  
firecool 写道
能不能增加对BigDecimal数据类型的支持,因为我需要计算金钱

这个可以有
37 楼 firecool 2010-06-27  
能不能增加对BigDecimal数据类型的支持,因为我需要计算金钱
36 楼 linliangyi2007 2010-04-20  
talkboy 写道
linliangyi2007 写道
talkboy 写道
请问IK Expression 2.1.2版是有jdk版本限制吗?
我的环境是jdk1.5的,运行时报class版本错误
在那里可以下载jdk1.5的jar包,或者下载源码重新编译也可以


你可以上google code找IK Expression ,有源码可以编译。原先的是1.6的

请问2.1.2的有没有源码,因为我现在的需求可能2.1.2版本更适合些,另外google code上的源码用svn下载不了
提示如下:
Checkout from http://ik-expression.googlecode.com/svn/trunk/ik-expression, revision HEAD, Fully recursive, Externals included
方法 OPTIONS 失败于 “http://ik-expression.googlecode.com/svn/trunk/ik-expression”:
Could not resolve hostname `ik-expression.googlecode.com': 请求的名称有效并且在数据库中找到,但是它没有相关的正确的数据来被解析。
(http://ik-expression.googlecode.com)


直接使用http://ik-expression.googlecode.com/svn/trunk/ 这个链接就好了,上面就是2.1.2的最新代码。我使用google code做代码同步的
35 楼 talkboy 2010-04-20  
linliangyi2007 写道
talkboy 写道
请问IK Expression 2.1.2版是有jdk版本限制吗?
我的环境是jdk1.5的,运行时报class版本错误
在那里可以下载jdk1.5的jar包,或者下载源码重新编译也可以


你可以上google code找IK Expression ,有源码可以编译。原先的是1.6的

请问2.1.2的有没有源码,因为我现在的需求可能2.1.2版本更适合些,另外google code上的源码用svn下载不了
提示如下:
Checkout from http://ik-expression.googlecode.com/svn/trunk/ik-expression, revision HEAD, Fully recursive, Externals included
方法 OPTIONS 失败于 “http://ik-expression.googlecode.com/svn/trunk/ik-expression”:
Could not resolve hostname `ik-expression.googlecode.com': 请求的名称有效并且在数据库中找到,但是它没有相关的正确的数据来被解析。
(http://ik-expression.googlecode.com)
34 楼 linliangyi2007 2010-04-20  
talkboy 写道
请问IK Expression 2.1.2版是有jdk版本限制吗?
我的环境是jdk1.5的,运行时报class版本错误
在那里可以下载jdk1.5的jar包,或者下载源码重新编译也可以


你可以上google code找IK Expression ,有源码可以编译。原先的是1.6的
33 楼 talkboy 2010-04-19  
请问IK Expression 2.1.2版是有jdk版本限制吗?
我的环境是jdk1.5的,运行时报class版本错误
在那里可以下载jdk1.5的jar包,或者下载源码重新编译也可以
32 楼 linliangyi2007 2010-01-07  
dennis_zane 写道
很棒的项目,感谢作者的贡献,但是协议似乎严格了一点,LGPL只能作为第三方引用,私有项目就没办法修改一些源码使用,是否考虑放宽一些?采用apache 2.0?


哈,遇到真正的高手了,其实我对license没啥研究,就看了些基础资料,觉得LGPL比较宽松就用了,看来要改协议了,哈哈
有人用就是对俺最大的鼓励,中国现在缺乏的是开源的奉献者,这两年渐渐多了起来,隔三差五的就看到je上某某某又分享一个开源框架了,真令人兴奋啊,哈哈。
31 楼 dennis_zane 2010-01-07  
很棒的项目,感谢作者的贡献,但是协议似乎严格了一点,LGPL只能作为第三方引用,私有项目就没办法修改一些源码使用,是否考虑放宽一些?采用apache 2.0?

相关推荐

    IK Expression开源表达式解析器 V2.1.2.rar

    IK Expression开源表达式解析器V2.1.2是一款用于处理和解析文本表达式的强大工具,广泛应用于各类软件开发和数据分析场景。它以其高效、灵活和可扩展性著称,为开发者提供了便捷的方式来处理和执行复杂的逻辑表达式...

    IK Expression(表达式引擎)

    IK Expression 是一个开源的(OpenSource),可扩展的(Extensible), 基于java 语言开发的一个超轻量级(Super lightweight)的公式化语言解析执行 工具包。它是一个采用逆波兰式算法结合指针栈优化的公式解析引擎...

    IK Expression V2.0

    IK Expression是一个开源的(OpenSource),可扩展的(Extensible),基于java语言开发的一个超轻量级(Super lightweight)的公式化语言解析执行工具包。 IK Expression V2.0不依赖于任何第三方的java库。它做为...

    IKExpression表达式解析器

    IK Expression是一个开源的(OpenSource),可扩展的(Extensible),基于java语言开发的一个超轻量级(Super lightweight)的公式化语言解析执行工具包。 IK ExpressionV2.0.5不依赖于任何第三方的java库。它做为一...

    表达式解析器 IKExpression

    IK Expression是一个开源的(OpenSource),可扩展的(Extensible),基于java语言开发的一个超轻量级(Super lightweight)的公式化语言解析执行工具包。 IK ExpressionV2.X.X不依赖于任何第三方的java库。它做为一...

    IKExpression2.1.2.jar

    IKExpression2.1.2.jar

    ik-expression源代码

    IK Expression是一个开源的(OpenSource),可扩展的(Extensible),基于java语言开发的一个超轻量级(Super lightweight)的公式化语言解析执行工具包。 IK ExpressionV2.0不依赖于任何第三方的java库。它做为一...

    IKExpression-2.1.2-SNAPSHOT

    IKExpression-2.1.2-SNAPSHOT.jar 找了很久才找到,,maven下载不下来,,备个份。

    IK 的jar包

    在本压缩包中,"IKExpressionV2.1.2AllInOne"表示的是IK分词器的一个版本,截至2018年11月8日,这是它的最新版本。 IK分词器的核心功能是对中文文本进行精确、快速的分词处理。它提供了两种模式:精确模式和全模式...

    基于java的表达式运算IK Expression

    IK Expression 是一个开源的(OpenSource),可扩展的(Extensible), 基 于java 语言开发的一个超轻量级(Super lightweight)的公式化语言解析执行 工具包。IK Expression 不依赖于任何第三方的java 库。它做为一...

    IKExpression技术 运算表达式完美解析

    例如,"2+3*4"这样的表达式可以通过IKExpression轻松解析并得出正确结果。此外,它还允许用户自定义运算符,扩展其功能。 对象表达式是IKExpression的另一个亮点。开发者可以利用该特性直接操作对象的属性或者调用...

    IKExpressoin简易表达式引擎V2.1.0使用说明.rar_IKExpressoin_V2 _ik表达式

    IKExpression是一款针对Java平台的轻量级表达式引擎,主要用于解析和执行用户自定义的表达式,从而实现程序的动态配置和灵活性。IKExpression V2.1.0是该引擎的升级版本,提供了更高效、稳定和易用的特性。 在...

    Elasticsearch的开源中文分词器 IK Analysis.zip

    IK中文分词器在Elasticsearch上的使用。原生IK中文分词是从文件系统中读取词典,es-ik本身可扩展成从不同的源读取词典。目前提供从sqlite3数据库中读取。es-ik-plugin-sqlite3使用方法: 1. 在elasticsearch.yml中...

    IKAnalyzer开源轻量级中文分词工具包2012u6

    IK Analyzer是一个开源的,基于java语言开发的轻量级的中文分词工具包。从2006年12月推出1.0版开始, IKAnalyzer已经推出了4个大版本。最初,它是以开源项目Luence为应用主体的,结合词典分词和文法分析算法的中文...

    IKExpressoin简易表达式引擎V2.1.0使用说明

    IKExpression 采用了逆波兰式算法结合指针栈优化来实现高效的表达式解析。它主要由以下四个部分组成: - **表达式编译**:将用户输入的表达式转换成可执行的内部数据结构。 - **表达式执行**:根据编译后的数据结构...

    IKAnalyzer中文分词器v2012使用手册.pdf

    标题:"IKAnalyzer中文分词器v2012使用手册" 所述的知识点包括: IKAnalyzer是一款开源的基于Java语言开发的轻量级中文分词工具包,最早版本于2006年12月发布。作为一个文本分析组件,它最初是作为开源项目Lucene的...

    IK智能分词器下载8.12.2版本

    IK智能分词器下载8.12.2版本IK智能分词器下载8.12.2版本IK智能分词器下载8.12.2版本IK智能分词器下载8.12.2版本IK智能分词器下载8.12.2版本IK智能分词器下载8.12.2版本IK智能分词器下载8.12.2版本IK智能分词器下载...

    elasticsearch的ik中文分词器

    **Elasticsearch与IK中文分词器** Elasticsearch(ES)是一款强大的开源搜索引擎,它基于Lucene构建,提供实时、分布式、可扩展的搜索和分析能力。在处理中文文档时,由于中文句子中词语之间没有明显的分隔符,因此...

    IKExpressoin_简易表达式引擎_V2.1.0_使用说明.pdf

    IK Expression是一个开源的(OpenSource),可扩展的(Extensible),基于java语言开发的一个超轻量级(Super lightweight)的公式化语言解析执行工具包。

    IKAnalyzer中文分词器V3.2使用

    **IKAnalyzer中文分词器V3.2使用详解** IKAnalyzer是一款开源的、适用于Java环境的中文分词器,主要用于解决在信息检索、文本挖掘等领域中遇到的中文处理问题。这款分词器的设计目标是提高分词的准确率,并且具有...

Global site tag (gtag.js) - Google Analytics