【java】IKExpression表達式解析器


IK Expression是一個開源的(OpenSource),可擴展的(Extensible),基於java語言開發的一個超輕量級(Super lightweight)的公式化語言解析執行工具包。

源碼地址:https://github.com/deonwu/ik-expression

參考文檔:鏈接:https://pan.baidu.com/s/1lxY3qGUqAiwsFJpEHWQQ9Q  提取碼:1234

//支持運算:

//基礎運算符: + - * /
//邏輯運算符:  ! && || 
//三元運算符:?
//括號優先級等

使用方法演示:

演示1:

public static void main(String[] args) {
    String expression1 = "true || false";
    String expression2 = "!true || false";
    String expression3 = "true && false";
    String expression4 = "true && (false || true)";
    System.out.println(ExpressionEvaluator.evaluate(expression1));//true
    System.out.println(ExpressionEvaluator.evaluate(expression2));//false
    System.out.println(ExpressionEvaluator.evaluate(expression3));//false
    System.out.println(ExpressionEvaluator.evaluate(expression4));//true
}

演示2:

public static void main(String[] args) {
    String expression1 = "(1>2) || false";
    String expression2 = "(1-2) > 0";
    String expression3 = "1*2 == 2";
    String expression4 = "1*2 != 2";
    System.out.println(ExpressionEvaluator.evaluate(expression1));//false
    System.out.println(ExpressionEvaluator.evaluate(expression2));//false
    System.out.println(ExpressionEvaluator.evaluate(expression3));//true
    System.out.println(ExpressionEvaluator.evaluate(expression4));//false
}

演示3:

public static void main(String[] args) {
    Boolean a = true;
    Boolean b = true;
    Boolean c = false;
    String expression = "a || (b && c)";
    //給表達式中的變量賦上下文的值
    List<Variable> variables = new ArrayList<Variable>();
    variables.add(Variable.createVariable("a", a));
    variables.add(Variable.createVariable("b", b));
    variables.add(Variable.createVariable("c", c));
    //執行表達式
    Object result = ExpressionEvaluator.evaluate(expression, variables);//true
}

 

 

 

持續更新!!!

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM