java 表达式解析器

本表达式解析器使用java语言实现。

支持算术运算、逻辑运算、比较运算,

支持if分支结构的解析,

支持在表达式中使用自定义函数,

支持多种数据类型:数字、日期、字符、字符串、布尔。


(源码和文档见我的资源:Expression_Analyzer_Reference  不需积分)


首先简单介绍表达式解析器的词法规则

  • 数据类型

支持五种数据类型:数字、日期、布尔、字符、字符串

  • 数字

数字类型在解析过程中将被转化成BigDecimal类型,支持以下格式:

整数123;

小数123.333;

指数1.2E2 或 1.2e2(即120)

  • 日期

支持两种形式的日期数据,一种是精确到日的,写法为[yyyy-MM-dd],如[2012-03-31];另一种精确到秒,写法为[yyyy-MM-dd HH:mm:ss],如[2012-03-31 09:06:10]。

在表达式解析过程中日期类型将转化为java.util.Calendar。

  • Boolean

布尔常量的写法可以是true、TRUE、false、FALSE。

字符

字符分普通字符和转义字符。

普通字符:’a’、’_’

转义字符:’\n’、’\r’

  • 字符串

字符串用双引号表示,可包含转义字符,如”Hello World”、”Hello \r\n World”。

变量

变量名以字母或下划线开头,只能包含字母、数字、下划线,如:abc、_abc、_a1。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值