QLExpress忽略字符常量规则表达式
最近刚接触到QLExpress组件,通过学习接触到很多规则表达式,下面简单分析一下如何用QLExpress脚本语言完成忽略字符常量。请看下面详细的代码:
public class IgnoreConstCharTest {
@Test
public void test() throws Exception {
ExpressRunner runner = new ExpressRunner();
runner.setIgnoreConstChar(true);// 忽略charset类型的数据,而识别为string,比如'a' -》 "a"
String exp = "'1'+'2' == \"12\"";
IExpressContext<String, Object> context = new DefaultContext<>();
Object result = runner.execute(exp, context, null, false, true);
System.out.println(result);
assert ((Boolean)result);
}
}
测试结果如下:
该例子说明了 可以使用QLExpress解决字符串不匹配问题,即String exp = "‘1’+‘2’ == “12"”;(‘1’->>“1”,‘2’->>“2”)。