使用“多个”;“火柴”;Drools Guvnor中的语句

使用“多个”;“火柴”;Drools Guvnor中的语句,drools,business-rules,drools-guvnor,Drools,Business Rules,Drools Guvnor,我通过drools guvnor创建规则。我已经导入了我的POJO模型,所有的设置都是正确的(我已经做了测试),但我似乎无法弄清楚如何让“匹配”操作符正常工作。这是我到目前为止所拥有的(源代码): 有没有人能给我一些关于在drools guvnor中使用多个正则表达式检查的提示,或者一些让它工作的方法。他们的论坛似乎真的过时了。我在网上找到的大多数答案都没有得到回答 任何帮助都将不胜感激。您可以尝试只使用正则表达式。 比如: rule "invilidSms" dialect "mvel" wh

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

有没有人能给我一些关于在drools guvnor中使用多个正则表达式检查的提示,或者一些让它工作的方法。他们的论坛似乎真的过时了。我在网上找到的大多数答案都没有得到回答


任何帮助都将不胜感激。

您可以尝试只使用正则表达式。 比如:

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

但是,我如何通过gui实现这一点?似乎gui不正确地创建了它们。我不是在创建技术规则,这就是问题所在,您使用的是什么版本?我在5.3.1.Final上,它在我的业务规则内工作。您应该有3个条件列和1个操作列。同样有效的方法是从guvnor导出*.gdst文件,在texteditor中编辑并保存。查看此:[将Guvnor作为文件系统访问(WebDAV)]()@MethodMan,您能告诉我们您是如何解决此问题的吗?嗨,metar,我建议您升级drools版本,或者创建一个
regex
语句,可以同时处理所有规则。我们就是这样设法解决的。
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