Drools 中的正则表达式
Regular expression in 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 类型的部分。由于我是流口水的新手,所以我看不出它会在哪里引起问题,我们将不胜感激
根据 matches
运算符,使用正确的 Drools 语法,如 Drools 手册中所述。
rule FANRorSANA
when
$n: model($v: type.series.name matches ".*(FANR|SANA).*")
then
并且您可以使用正则表达式的强大功能来测试备选方案。
当我尝试编写我的规则时,我总是遇到编译错误。
我正在尝试将这种情况转化为流口水
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 类型的部分。由于我是流口水的新手,所以我看不出它会在哪里引起问题,我们将不胜感激
根据 matches
运算符,使用正确的 Drools 语法,如 Drools 手册中所述。
rule FANRorSANA
when
$n: model($v: type.series.name matches ".*(FANR|SANA).*")
then
并且您可以使用正则表达式的强大功能来测试备选方案。