2012-06-28 2 views
0

나는 값의 범위 '(1111)'할 수있는 정규 표현식이 - '999999', '0'의 인스턴스를 제외하고 내 요구 사항이 수정 된 것을 제외하고 이것은 나를 위해 노력하고 있습니다문자열의 마지막 문자를 특정 범위 내에 강제로 넣는 방법?

^([1-9]){4,6}$ 

. 마지막 문자의 최대 값이 '8'이되도록 범위에서 마지막 '9'를 허용하지 않아야합니다.

1111 - 9998, or 1111 - 99998, or 1111 - 999998 

어떻게하면이 정규 표현식을 새로운 기준에 맞게 수정할 수 있습니까?

+0

WTF? 왜 이것을 downvote? 유효한 질문이 아닌가? – DaveDev

답변

2

어떻게 이런 일

^([1-9]){3,5}[1-8]$ 
+1

우수 - 한 가지, '0-8'보다는'1-8' 범위가 필요했기 때문에 대답을 편집했습니다. 이 표시가 올바른 것으로 표시되기까지 약 7 분을 기다려야합니다. – DaveDev

+0

@DaveDev -'(...)'는 필요하지 않습니다. –

1

첫 번째 옵션에 대한 :

^[1-9]{3,5}[1-8]$ 

두 번째 옵션 :

^(?!.*9$)[1-9]{4,6}$ 

부정적 머리글 (?!.*9$)9이 끝에 오도록 허용하지 않습니다.

세 번째 옵션 :

^(?!.*0)(?!.*9$)\d{4,6}$ 

부정적 예측 (?!.*0)0 전혀 텍스트에있을 수 없습니다.

관련 문제