2014-02-11 5 views
0

안녕하세요 최소정규 표현식

  • 다음 기준에 따라 휴대 전화 번호 8 개 번호
  • 허용되는 문자 만 =+,

space 그래서 나는 시도를 검증 할 필요가 다음 정규식을 사용하여

([0-9]\\s*){8} 

하지만 작동하지 않습니다. 아무도 나를 도울 수 있습니까? (당신이 정말로 이러한 기준을 따르십시오) 당신은 멀리하지 않은

+0

더 나은 것은 모든 자릿수를 제거하고 * 다음에 유효성을 검사하는 것입니다. – tenub

답변

2

:

^[=+\s]*(?:[0-9][=+\s]*){8,}$ 

설명 :

^  # Start of string 
[=+\s]* # Optionally match =, + or whitespace 
(?:  # Start of group: 
[0-9] # Match a digit 
[=+\s]* # Optionally match =, + or whitespace 
){8,} # Repeat at least 8 times 
$  # End of string 

가에서 백 슬래시를 두 배로하는 것을 잊지 마세요 Java 문자열 :

Pattern regex = Pattern.compile("^[=+\\s]*(?:[0-9][=+\\s]*){8,}$"); 

이 규칙들도 ++++0+0===0=+0+000+0+0+0+0+++과 같은 일치를 허용합니다 ...

+0

이것은 내가 원하는 고맙습니다. :) –