2013-03-11 5 views
1

jess 규칙 엔진을 사용하고 하위 문자열 일치를 얻고 싶습니다. 특히, 난 deftemplate 사람이 있고 규칙의 왼손에 사람 슬롯 값을 확인합니다. 코드 위Jess 하위 문자열 조작

(defrule vsvmntud (declare (salience 1)) (person (job unemployed)) =>....

는 "실업자"전체 문자열 작업을 일치합니다. 예를 들어 작업에 하위 문자열 "em"이 들어있는 경우와 같이 하위 문자열을 일치시키고 싶습니다. 가능합니다.

+0

Jess (Java Rule Engine) 샘플 프로그램이 기본에서 복잡하고 매우 복잡한 모든 사이트/비디오/링크가 있습니까? – Prateek

답변

0

제스 7 년부터 정규 표현식에 대한 직접 지원이 :

(defrule vsvmntud 
    (person (job /.*em.*/)) 
    => 
    ... 

같은 규칙은 자바 정규 표현식 .*em.*에 대한 job 슬롯을 일치합니다.

또한 제스 라이브러리의 기능을 사용 할 수 있습니다 - 예를 들어

(defrule vsvmntud 
    (person (job ?j&:(str-index em ?j))) 
    => 
    ... 

같은 일 (함수가 str-index 반환 FALSE 일치하는 항목이 없습니다, 또는 숫자입니다 않을 경우 - 인

+0

힐 감사합니다. 감사합니다. – sakias