2012-12-26 3 views
1

14 문자 길이를 확인하는 정규식이 하나 있습니다. 하지만 이제는 2 길이로 곱할 수 있는지 확인하고 싶습니다.정규 표현식에서 선택적 부분 문자열을 확인하는 방법

내 현재 정규식 그것은 내가 만들고 싶어

match : `00000002000102 00000002000101` 
do not match : `00 , 0000 , 00000200,` 

이 위 또한 문자열과 일치하지 않는 받아들이는 단지 14 길이 문자열 받아 "(0[0-1][0-9][0-9][0-9][0-9]0[0-2]0[0-4]0[0-2]0[0-2])"

입니다. 경우에 여기에

내가 지금 14 개 자리가 될 것입니다 내 문자열 길이를 참조 다시 설명 내 요구 사항

하기 위하여려고하고있다 :

난 내가

편집 수행 할 작업 아래 설명 내 문자열 처음 2 자리는 필수입니다. 내 문자열에는 아래에서 언급 할 6 가지 유효성 검사 부분이 있습니다. 내 입력 문자열 의무 첫 부분을 포함 그래서 여기

first part would be : 00 or 01 only : Sting length should be 2 only 
second part would be : 0000-9999 any value between this. : Sting length should be 6 only 
third part would be : 00 or 02 only    : Sting length should be 8 only 
fourth part would be : 00 or 01 or 04 only even not 03.: Sting length should be 10 only 
fifth part would be : 00 or 01 or 02   : Sting length should be 12 only 
sixth part would be : 00 or 01 or 02   : Sting length should be 14 only 
  • .
  • 의무적 인 1 차 및 2 차 부품을 포함한다면 두 부분 모두 위의 검증에 따라 검증해야합니다.
  • 문자열은 또한 제 3 부분을 포함하는 경우이를 문자열 4 회 부분을 포함하는 경우도 8 및 후 제 1 및 제 2 부분을 포함해야 길이가 의무를 검증 1, 조건 상술 당 2, 3 부분
  • 또한 그 길이를 의미 할 수단 10 그리고 그것의 포함한다 첫번째와 두번째 및 세번째 부분 그 때 위임 조건으로 것과 같이 첫번째로, 제 2의, 제 3의 부속 및 제 4 부속을 검사 할 것입니다
  • 동일은 6 개 부품까지 계속된다.

도와 나를 내가 내 현재 등록의 전 구현에 변경

감사가 무엇인지 알려 주시기 바랍니다

답변

1

편집 : 편집 문제의 사양 님의 질문에 답변

이와 비슷한 것; 지금은 정말 숙제) 4 그룹의

^(0[0-1](?:[0-9]{4}(?:0[02](?:0[014](?:0[0-2](?:0[0-2])?)?)?)?)?)$ 
+0

이 정규식은 위의 유효성을 확인하지 않습니다. –

+0

편집 : 예, 실제로 아이디어입니다. 턴키 솔루션이 아닙니다. –

+0

W 모자 의미 :? 여기? –

0

귀하의 정의

네 번째 부분은 다음과 같습니다 00 또는 01 또는 04은도하지 03.

가 불분명하다. 여기에 02가 필요 하신가요?네 번째 부분에 허용 된 02

은 02

/^((0[01])|(0[01][0-9]{4})|(0[01][0-9]{4}0[02])|(0[01][0-9]{4}0[02]0[0124])|(0[01][0-9]{4}0[02]0[0124]0[0-2])|(0[01][0-9]{4}0[02]0[0124]0[0-2]0[0-2]))$/ 

는 네 번째 부분에서 허용되지

/^((0[01])|(0[01][0-9]{4})|(0[01][0-9]{4}0[02])|(0[01][0-9]{4}0[02]0[014])|(0[01][0-9]{4}0[02]0[014]0[0-2])|(0[01][0-9]{4}0[02]0[014]0[0-2]0[0-2]))$/ 

, 당신은하지 않았다 때문에 초기 패턴이 14 개 문자보다 긴 문자열을 받아 무엇을 유의하시기 바랍니다^및 $

+0

내 편집 된 질문 확인 당신은 더 많은 아이디어를 얻을 것입니다 –

+0

내 대답 업데이트 –

관련 문제