2015-01-26 3 views
1

Wso2 CEP v 3.1.0에서이 상황에서 isMatch 함수를 사용해야합니다. 입력 스트림WSO2 CEP isMatch 내장 함수가 제대로 작동하지 않습니다.

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

는 I 3 개 변수 (를 A, B, C)은, A-I 변수가 제 3 개 숫자를 확인해야 9 자리 수를 갖는다. 내가 확인할 3 가지 번호가 있습니다.

이 사이트에서이 정규식을 확인하십시오 ->http://regexr.com/ 잘 작동합니다. 입력 스트림이 1234456과 같은 경우 해당 사이트에서 정규 표현식이 제대로 작동하지만 CEP의 동일한 상황이 작동하지 않습니다. CEP에서는 123 또는 234 또는 345 만 작동하지만 123456, 234567, 345677은 작동하지 않습니다.

누군가가 그 이유를 알고 있습니까?

답변

1

이 정규식을 시도해보십시오 isMatch 이후

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

전체 입력 문자열을 일치하도록 노력하고있다.

+1

감사합니다. – Kacu

+0

다행이다. 다행이다. – anubhava

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

보십시오. 데모를보십시오.

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

+0

Thx, 답장을 보내 주지만이 CEP 버전은 '\'문자가있는 버그이며 다른 릴리스에서 해결 될 것임 => https://wso2.org/jira/browse/CEP-865 – Kacu

+0

Unfortunatelly,이 속임수 내가 예상했던대로 작동하지 않습니다. – Kacu

+0

죄송합니다, 그것은 잘 작동합니다. 나는 모든 것을 복사하지 않았다. 트릭과 @anubhava의 유일한 차이점은 anubhava에서 '123'입력 문자열이 작동한다는 것입니다. – Kacu