计算机系统应用教程网站

网站首页 > 技术文章 正文

44-drools基础语法(比较操作符_matches和no)

btikc 2024-11-16 17:20:39 技术文章 1 ℃ 0 评论

接下来继续来看比较操作符。刚才讲的是memberof以及notmemberof,再往下是matchs,matchs后边要跟的是正则表达式。继续回到规则文件,继续来编写,直接复制了。在它的基础之上改造一下,要测试的是matchs,比较操作符,把这个也改一下叫做matchs,匹配。

在这个地方就可以这么写了,比如现在想匹配的是name四属性,就是这种类型的属性,必须怎么弄?matchs必须匹配后边字符串,对应的应该就是正则表达式。比如在这写一个王,点星,是不是表示必须是姓王的?以王开始的这样的名字才能够匹配到。如果能够匹配到,在这个地方可以来输出一下。

这就是matchs的用法,后边主要就是写正的表达式,直接再来执行x2。当前设置的值name是不是等于李四?李四很明显跟正则表达式肯定是匹配不上的,因为这样传进来的是不是动态解析是李四,跟正则表达式来匹配肯定是匹配不上。匹配不上很显然规则肯定也不会执行。

这还是原先的规则出发了,刚刚编写的规则并没有出发,如果想让它出发必须怎么做?把李四改成王四,以王开始的,第一个字必须得是王,然后才能够匹配上。这个时候再来执行一下,稍等一下,现在matches是不是就已经出发了?当然了,其他的这些不包含的,不是成员的这些是不是也都出发了?主要还是看最后一个输出,这样就出发了。

还有一个叫做notmatchs,是不是就是不匹配?当然跟这个等于就是取反,一块来复制一下,测试的是notmatchs,在这来写一下notmatchs,但是现在因为能匹配到上面,所以下边肯定是匹配不到的,也就是一个,当然这儿得加一个note,这两个因为它俩是等于,等于正,相反,所以上面能成立,下边肯定是成不了的。

再来验证一下,matchs是不是成立了?因为刚才已经测过了,现在把王四重新改回李四,改回李四之后上面是不是就匹配不上了?而下边因为是notmatchs,是不是就能够匹配上了?所以这些比较操作符其实还是比较简单。也比较直观,note matchs是不是就已经匹配成功了?这条规则就已经匹配成功了。

这个是讲了一下matches比较操作符以及not matches比较操作符的用法。

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表