제로

2012-03-13 4 views
0

을 위해 내가 ^(([0-9]{1,2})|100|888|777|999)$제로

이 사람이 숫자를 입력 할 수있는 다음과 같은 정규식 표현을 가지고 제외하고이 값을 일치 허용 범위 : 1-99, 100, 888, 777, 999 (본질적으로 0은 이제 허용되지 않습니다.)

나는 ^(!0|([0-9]{1,2})|100|888|777|999)$을 생각했습니다.하지만이 방법은 "if 0이 아니며 우린 괜찮습니다. "

모든 광고 바이스?

+0

당신이 시도해 봤어 [1-9] {1,2} 대신 [0- 9] {1,2}? –

+0

'10 '은 어때요? – Dan

+1

@MarshallConover 2 자리 숫자와 0이 일치하지 않으므로 작동하지 않습니다. – twain249

답변

5

시도 분할 오프 두 자리 숫자 대 한 자리의 경우 : 다음

^([0-9]|([1-9][0-9])|100|888|777|999)$

그리고 0 제거 :

^([1-9]|([1-9][0-9])|100|888|777|999)$

을 이제, 확실한 방법이 있음을 가지고 그것을 단순화하기 위하여 :

^(([1-9][0-9]?)|100|888|777|999)$

전면에 과도한 제로와 숫자를 읽을 수 있지만 경기가를 포함하지 않을 경우 617,451,515,

그래서, twain249는이 달성해야

^0*(([1-9][0-9]?)|100|888|777|999)$

+1

'02'과 같은 숫자를 없애고 싶다면 어떻게해야할지 모르겠지만 정규식을 수정하는 것은 꽤 쉽습니다. – twain249

+0

당신의 생각 과정을 보여 주셔서 고마워요. 답으로 표시 할 수있는 능력을 기다리고 있습니다. P – peroija

+0

@ twain249 그 문제에 대해서는 생각하지 못했습니다.하지만 다른 사람들을위한 것입니다. ^ ((0-9) [ 1-9] {1}) | ([1-9] [0-9]?) | 100 | 888 | 777 | 999) $' – peroija

1

당신이 원하는 :

^(([1-9][0-9]?)|100|888|777|999)$ 
1

^([1-9] [0-9]?) | 100 | 888 | 777 | 999 $