在Drools-Guvnor中使用多个“匹配”语句

时间:2013-06-14 13:09:17

标签: drools business-rules drools-guvnor

我正在通过drools-guvnor创建规则。我已经导入了我的POJO模型并且所有设置都正确(我已经完成了测试)但我似乎无法弄清楚如何获得#34;匹配"操作员工作正常。这是我到目前为止(源代码):

rule "invilidSms"
dialect "mvel"
    when
        invalidSms : Policy( SMS_Area_Code matches "[0-9]{4,}" || matches "^[0-9]{0,2}" || matches "[0-9\\D]+" , SMS_TelNumber matches "[0-9]{4,}" || matches "^[0-9]{0,2}" || matches "[0-9\\D]+" , SMS_nixieindicator == "Y" || == "y" )
    then
        invalidSms.setSms( ""Invalid area code"" );
end

任何人都可以向我提供有关在drools-guvnor中使用多个正则表达式检查的任何提示,或者某种方式使其工作。好像他们的论坛真的很陈旧。我在那里找到的大多数答案都没有得到解答。

任何帮助都将不胜感激。

1 个答案:

答案 0 :(得分:0)

您可以尝试仅管道正则表达式。 类似的东西:

rule "invilidSms"
dialect "mvel"
when
    invalidSms : Policy( SMS_Area_Code matches "[0-9]{4,}|^[0-9]{0,2}|[0-9\\D]+" , SMS_TelNumber matches "[0-9]{4,}|^[0-9]{0,2}|[0-9\\D]+" , SMS_nixieindicator matches "[Yy]"
then
    invalidSms.setSms( ""Invalid area code"" );
end