2014-06-20 10 views
0

안녕하세요, 의 답변으로 인해 regexp-me lib를 사용하여 유효성 검사 클래스를 작성하려고합니다. 이 코드는 단지 7 ~ 8 자리 숫자를 받아 들여야 패턴 이후 그 "ID"를 false 반환해야 내가blackberry ({m, n})에 한정 기호 정규식 패턴을 사용하는 방법

String id = "123456789"; 

String pattern = "\\d{7,8}"; 

public boolean validate(String id,String pattern){ 


    RE regular_expresion = new RE("\\d{7,8}"); 

    return regular_expresion.match(id); 
} 

무슨 짓을

. 그러나 내가 id = "1234567"을 사용하면 true를 반환하고 코드는 7 자리 이상을 허용합니다.

{m, n}은 (는) {n,}으로 작동합니다.

누군가 이전에이 문제가 있었나요?

답변

2

표현 \\d{7,8} 수단 :

  • 문자열
  • 내 어디 숫자 만 적어도 7
  • ,하지만 8 개 이상의 문자로 구성된 문자열을 찾을 수 있습니다.

이 문자열이 7 또는 8 자리 문자열을 포함하고 있기 때문에이 7 자리의 캐릭터뿐만 아니라 123456789 경우와 같이이 1234567 마찬가지입니다. 처음부터 끝까지 전체 문자열이 숫자로만 구성되어 있으며, 문자열 길이가

+0

와우 그래서 진정한 방법 복귀가있다 경우에도 중 7 또는 8 인 경우에만

변경 ^\\d{7,8}$의 표현은 긍정적 인 결과를 얻을 수 있습니다 그 패턴을 가지는 부분 캐릭터 라인 제 잘못 Mofi. – AmirG