2012-12-22 1 views
1

정규식을 사용하여 C# TextBox에서 입력의 유효성을 검사하려고합니다. 예상되는 입력 형식은 다음과 같습니다. CCCCC-CCCCC-CCCCC-CCCCC-CCCCC-CCCCC-CRegex matching recurring patterns

그래서 다섯 개의 분리 된 문자로 된 여섯 개의 요소와 끝에 분리 된 문자가 있습니다. .{5,255}

어떻게 위에서 언급 한 형식과 일치하기 위해 수정해야합니까 :

지금 내 정규식 다섯 개 255 문자 사이의 문자와 일치?

+0

A C는 영숫자 (A-Z, a-z 및 0-9) 일 수 있습니다. – SeToY

+0

@ SeToY .. 해당 문자를 동일하게 설정 하시겠습니까? 마찬가지로 이것은 허용된다 -'ABCDS-ASDFS-23423 ...'? –

+0

@RohitJain 괜찮습니다. – SeToY

답변

3

업데이트 : - 당신은 모든 문자를 일치 시키려면

는, 당신은 사용할 수 있습니다 : -

^(?:[a-zA-Z0-9]{5}-){6}[a-zA-Z0-9]$ 

설명 : -

01 23,

참고 : - 당신이 게시처럼 아래 정규식은 패턴과 일치하는 것입니다 : -

CCCCC-CCCCC-CCCCC-CCCCC-CCCCC-CCCCC-C 

당신이 정규식 시도 할 수 있습니다 : -

^(?:([a-zA-Z0-9])\1{4}-){6}\1$ 

설명 : -

(?:    // Non-capturing group 
    (    // First capture group 
    [a-zA-Z0-9] // Match any character or digit, and capture in group 1 
) 
    \1{4}   // Match the same character as in group 1 - 4 times 
    -    // Followed by a `-` 
){6}    // Match the pattern 6 times (CCCCC-) -> 6 times 
\1     // At the end match a single character. 
캐릭터 클래스에 C 교체 일반적으로 귀하의 예를 들어
+0

설명은 더 이상 적합하지 않습니다. –

+0

http://www.regex101.com/을 사용하여 정규 표현식에 대한 정확한 설명을 대신 생성 할 수 있습니다. –

+0

@Lindrian. 내 것이 정확하지 않니 ?? 어쨌든 링크 주셔서 감사합니다. –

1

테스트되지 않은,하지만 난이 일을 생각 :

([A-Za-z0-9]{5}-){6}[A-Za-z0-9] 
+0

이렇게하면 5 개의 대시가 사용됩니다. 1 ----- 2 ----- 3 ----- 4 ----- 5 ----- 6 ----- – SeToY

+0

Ooops. 미스가 {5}을 (를) 배치했습니다. 고침, 고마워. – Michael

+0

이제 'ABCDS-ASDFS-SFSAF-ASFSD -....'와 일치합니다. –

1

은, 당신이 원하는 :

^(C{5}-){6}C$ 

^([a-z]{5}-){6}[a-z]$  # Just letter, use case insensitive modifier 

^([a-z0-9]{5}-){6}[a-z0-9]$ # Letters and digits.. 
0

이 시도 :

^(C{5}-){6}C$ 

^$ 문자열의 begiining과 끝을 repectively 나타내며 만들기 추가 문자가 입력되지 않았는지 확인하십시오.