2012-09-21 5 views
1

나는 다음과 같다 정규 표현식을 가지고 :이 07-287370-002 또는 11-16D897-007 같은 부품 번호를 허용정규 표현식 구문 (하나의 특정 문자열 + 정규 표현식)

[RegularExpression(@"\d{2}[-zZ][a-zA-Z0-9]{6,7}[-a-zA-Z0-9]{2,3}[a-zA-Z0-9]?[a-zA-Z0-9]?", ErrorMessage = "Please enter a valid part number.")] 

.

은 또한 정규 표현식처럼이 특정 값을 수락합니다 : 를 ## - ###### - ###

내가 구문의 확실하지 오전, 어떤 도움이 많이 감사합니다.

답변

2

(A|B)이라는 정규 표현식은 "A 또는 B 표현과 일치하는 문자열을 허용합니다."를 의미합니다. 따라서, 당신은 할 것 :

[RegularExpression(@"(##-######-###|\d{2}[-zZ][a-zA-Z0-9]{6,7}[-a-zA-Z0-9]{2,3}[a-zA-Z0-9]?[a-zA-Z0-9]?)", ErrorMessage = "Please enter a valid part number.")] 
+0

감사합니다, 좋은 작품! – BBauer42

0

이 시도 :

[RegularExpression(@"\d{2}[-zZ][a-zA-Z0-9]{6,7}[-a-zA-Z0-9]{2,3}[a-zA-Z0-9]?[a-zA-Z0-9]|##-######-###?", ErrorMessage = "Please enter a valid part number.")] 
0

나는이 시도 말할 것이다 :

Pattern pattern = Pattern.compile("\d{2}[-zZ][a-zA-Z0-9]{6,7}[-a-zA-Z0-9]{2,3}[a-zA-Z0-9]?[a-zA-Z0-9]?; 
String PI = "Enter sample part number here to check" 
    Matcher matcher = pattern.matcher(PI); 
    String partNumTemp = ""; 
    if(matcher.find()){ 
     partNumTemp = matcher.group(); 
     System.out.println(partNumTemp); 

    }else{ 
     System.out.println("Did not work sorry"); 
    } 
+0

이것은 특정 값 "## - ###### - ###"과 일치하는 질문과 전혀 관련이 없습니다. 질문은 자바조차도 아니다 (내가 틀릴 수도 있지만 C#으로 믿는다) –