0

我正在通过 drools-guvnor 创建规则。我已经导入了我的 POJO 模型并且一切都设置正确(我已经完成了测试),但我似乎无法弄清楚如何让“匹配”运算符正常工作。这是我到目前为止所拥有的(源代码):

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 中使用多个正则表达式检查的任何提示或某种使其工作的方法。好像他们的论坛真的很陈旧。我可以在那里找到的大多数答案都没有得到回答。

任何帮助,将不胜感激。

4

1 回答 1

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
于 2013-08-07T15:33:53.697 回答