当我尝试编写规则时,我不断收到编译错误。
我正在尝试将此条件转换为drools
if(model.type.series != null && model.type.series.name.mathes(".*FANR.*") ||
model.type.series.name.matches(".*SANA.*"))
//do something....
这就是我的......
rule "Rule 01" salience 0
when
m : model(type.series != null,
type.series.name.matches(".*FANR.*") ||
type.series.name.matches(".*SANA.*")
a : Result(state == Result.GOOD )
then
a.setState(RESULT.BAD);
....
end
我试图做的是使用正则表达式来匹配字符串中'name'是String类型的部分。由于我对流口水不熟悉,我不知道它会在哪里引起问题,任何帮助都会受到赞赏
答案 0 :(得分:2)
使用正确的Drools语法,根据matches
运算符,如Drools手册中所述。
rule FANRorSANA
when
$n: model($v: type.series.name matches ".*(FANR|SANA).*")
then
您可以使用正则表达式的强大功能来测试替代方案。