您当前的位置: 首页 > 

qq_34412985

暂无认证

  • 0浏览

    0关注

    1061博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

使用Aviator达式引擎处理表达式判断

qq_34412985 发布时间:2021-12-08 21:26:40 ,浏览量:0

Aviator是一个高性能、轻量级的基于java实现的表达式引擎,它动态地将String类型的表达式编译成Java ByteCode并交给JVM执行。

Aviator支持所有的关系运算符和算术运算符,不支持位运算,同时支持表达式的优先级,优先级跟Java的运算符一样,并且支持通过括号来强制优先级。

示例代码:

Map env = new HashMap();
env.put("email", "killme2008@gmail.com");
String name = (String)AviatorEvaluator.execute("email=~/([\\w0-8]+@\\w+[\\.\\w+]+)/ ? $1:'unknow'", env);

import com.googlecode.aviator.AviatorEvaluator; for (LERule lERule:lERules) {             String rulePatternTemplate = lERule.getRulePattern();             String rulePatternStr = FreemarkerTemplateUtil.processFreemarker(rulePatternTemplate, bPBody.getBPInfo());             if(StringUtils.isNotBlank(rulePatternStr)){                 boolean isEvent = (Boolean) AviatorEvaluator.execute(rulePatternStr);                 if(isEvent){                     lEList.add(lERule.getLE());                 }             }         }

maven的坐标:

    com.googlecode.aviator
    aviator
    5.2.7
关注
打赏
1653291990
查看更多评论
立即登录/注册

微信扫码登录

0.0750s