2011-11-03 4 views
1

텍스트 상자에 처음 세 문자가 있고 끝에 세 개의 숫자가 있는지 확인하는 정규식을 만드는 데 문제가 있습니다. AAA999이 내용이 유효하려면 모두 6 명이 필요합니다.정규 표현식 (3 자 및 3 개의 숫자)

지금까지 내가 [A-Z][A-Z][A-Z][0-9][0-9][0-9][A-Z][A-Z][A-Z]\d{3}

누군가가 내가 잘못하고있는 무슨 말씀 해주십시오 수를 시도?

+2

프로그래밍 언어는 무엇입니까? – aioobe

+1

문자는'\ pL'입니다. 숫자는'\ pN'입니다. – tchrist

+1

ASP.NET 4 및 C# @aioobe –

답변

3

텍스트 상자에 3 자 및 3 자리 만 포함하려면 시작 및 끝 앵커를 추가하십시오. 당신은 C#을 태그를 가지고 있기 때문에

^[A-Z]{3}\d{3}$ 

,이 코드는 기본적으로

Regex regexObj = new Regex(@"^[A-Z]{3}\d{3}$", RegexOptions.Multiline); 
foundMatch = regexObj.IsMatch(subjectString); 
+0

텍스트 버전에 tes001을 추가하면 isMatch가 false로 되돌아옵니다. –

+0

@ShaileshRama 질문에'A-Z'를 사용했을 때 대문자를 원하는 것으로 생각했습니다. 작은 글자를 원한다면'[A-Za-z] {3}'을 사용하거나'Regex regexObj = new Regex (@ "^ [az] {3} \ d {3} $", RegexOptions.IgnoreCase | RegexOptions.Multiline는)' –

+0

덕분에 많이, 은 내가 –

3

어느 일하는 것이 C#으로 모양을하는 방법입니다. 당신이 그것을 사용하는 방법에 따라 문자열의 시작과 끝을 지정해야 할 수 있습니다. (예를 들어, .NET의 유효성 검사 컨트롤이 시작 자동으로 경기를 종료 추가)

^[A-Z]{3}\d{3}$ 

+0

내가 위의 표현을 시도하는 모든 도움을 결국 어쨌든 텍스트 상자에 다시 게시 할 수 감사를, 감사를 진행했기 때문에 코드 버전을 사용하지만, 내가 tes009를 입력 할 때 여전히 유효하지 않은 것으로 확인됩니다. –

+0

@ShaileshRama : 소문자도 허용하려면'^ [A-Za-z] {3} \ d {3} $'을 사용하십시오. – Guffa

0

에서 유니 코드 호환이되도록하려면 다음 중 하나를 사용하십시오.

^\pL{3}\pN{3}$ 
관련 문제