我正在通过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中使用多个正则表达式检查的任何提示,或者某种方式使其工作。好像他们的论坛真的很陈旧。我在那里找到的大多数答案都没有得到解答。
任何帮助都将不胜感激。
答案 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