Ecoc 모델을 사용하고 있습니다. 여기에 몇 가지 OCL 제약 조건을 추가하려고합니다.OCLinEcore 및 Regex를 사용하여 올바른 IPv4 문자열을 만들려면
유효한 IPv4 양식의 속성 (문자열)을 만들려고 할 때 내 문제가 발생합니다. 정규식을 사용해야한다고 생각하지만 OCLinEcore에서 정규식을 사용하는 방법에 대해서는 전혀 모른다. 정규식 부분으로
Ecoc 모델을 사용하고 있습니다. 여기에 몇 가지 OCL 제약 조건을 추가하려고합니다.OCLinEcore 및 Regex를 사용하여 올바른 IPv4 문자열을 만들려면
유효한 IPv4 양식의 속성 (문자열)을 만들려고 할 때 내 문제가 발생합니다. 정규식을 사용해야한다고 생각하지만 OCLinEcore에서 정규식을 사용하는 방법에 대해서는 전혀 모른다. 정규식 부분으로
Eclipse Juno의 시점에서 OCL에서 정규 표현식을 사용할 수 있습니다. 그것을 호출하는 함수는 Java와 마찬가지로 matches (regex)입니다.
context Packet
inv ValidIPv4 : ip.matches('\b([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})\b')
출처 : 이클립스의 이전 버전을 사용하는 경우 http://help.eclipse.org/juno/index.jsp?topic=%2Forg.eclipse.ocl.doc%2Fhelp%2FCompleteOCLTutorial.html
, 그때 난 당신 Ecore를 요소에 자바 제약 조건을 추가하는 것이 좋습니다 다음, 생성 된 Java 템플릿 코드를 통해 요소를 확인합니다.
:
\b([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})\b
일치 0.0.0.0 999.999.999.999 사용을 통해이 데이터가 유효하지 않은 IP 주소를 포함하지 않는 알고있는 경우이 빠르고 간단한 정규식. 4 개의 숫자 각각이 캡처 그룹에 저장되므로 추후 처리를 위해 해당 숫자에 액세스 할 수 있습니다.
문제는 정규식과 속성을 비교하는 방법입니다. –