比如说外界传入一个字符串${value1==value2}
,我使用java怎么才能解析出这个语句想要表达的判断value1
和value2
是否相等这个意思并获得计算结果,或者说怎么识别出这个语句里有value1
和value2
这两个参数?
目前我已经知道使用ScriptEngine
可以按js语法把value1
和value2
的值带入value1==value2
式子中去计算,但前提还是需要知道表达式中参数名才好去替换
现在的需求就是,前面经过一系列的操作已经有了若干个变量的值保存在一个Map中,后面需要读取某一个字符串s
进行解析并从Map中提取s
需要的变量值去计算,就像这样
valuesMap.put("value1", value1); valuesMap.put("value2", value2); ...String s = "value1==value2"; ScriptEngine engine = ...//TODO 取出s中包含的参数列表valueListengine.put(valueList,get(i), valuesMap.get(valueList,get(i)));
求解取出参数列表那一步怎么实现?或者要实现这整个功能该怎么去做?
一只斗牛犬
米琪卡哇伊
相关分类