WSO2 CEP isMatch 内置功能无法正常工作

WSO2 CEP isMatch in-built function doesn't work properly

在 Wso2 CEP v 3.1.0 中,我必须在这种情况下使用 isMatch 函数。

from in_put[isMatch('^123|^234|^345', a)]
select b,c
insert into out_put1;

在输入流中我有 3 个变量(a、b、c),a 变量是 9 位数字,我必须检查前 3 位数字。我有 3 个不同的号码要检查。

我在这个站点检查了这个正则表达式 -> http://regexr.com/ 它运作良好。当输入流类似于 1234456 时,该站点上的正则表达式运行良好,但 CEP 中的相同情况不起作用。在 CEP 中仅适用于 123 或 234 或 345,但不适用于此 123456、234567、345677。

有人知道为什么吗?

试试这个正则表达式:

from in_put[isMatch('^(123|234|345).*', a)]

因为 isMatch 正在尝试匹配完整的输入字符串。

(^123|^234|^345)[0-9]*$

尝试 this.See 演示。

https://www.regex101.com/r/rG7gX4/29