2016-06-03 3 views
1

모든 숫자를 허용하는 정규식 (PHP)을 만들고 exp에 [digit-digit] 형식의 닫힌 대괄호 만 허용하려고합니다.정규식 누락 패턴

[0-5]212xxx xx xx 
[0-5]212xx xx xx 
[0-5]212xx xx xx 

...하지만이 문자열의 유효성을 검사하지 않습니다 :

0[1-3]xxx xx //valid 
[1-3]xxx xx //valid 
05[1-3]xxx xx //valid 
0[1-3]555 6789 //valid 
0332 555 6789 //valid 

0[1-11]xxx xx //not valid 
[1-3]xxxa xx //not valid 

내 정규식 패턴, [0-9]?\[[0-9]-[0-9]\][0-9 x]+ 다음을 검증 완전히

1231232131 

변경 정규식을 이미 정규 표현식을 편집 그러나 그것은 복잡해지고있는 것처럼 보입니다. 가장 효율적인 방법으로 목표를 달성하려면 어떻게해야합니까?

+0

어떤 공간에 대해? – splash58

+0

시도해보십시오. '/^\ d * (\ [\ d- \ d \])? [\ dx \ s] + $ /' – Thamilan

+0

@ Thamilan은 [0-5] 212xxx의 [0-5] xx xx 문자열 – TyForHelpDude

답변

2

이 패턴은 해당 문자열이 숫자를 포함 건설 [digit-digit], 공간과 문자 x

^(\d|\[\d-\d\]|x|)+$ 

을 테스트하거나 그렇게 쓸 수 있습니다 :

^([\dx ]|\[\d-\d\])+$ 

demo and explanation

+0

x 문자는 무엇입니까? [0-5] 212xxx xx xx – TyForHelpDude

+0

은 x입니다. – splash58

+0

그냥 추가하십시오. 나는 패턴을 업데이트했습니다 – splash58