2014-09-18 2 views
1

.net의 Regex.Match()를 사용하여 문자열에 대문자 만 포함하면 해결할 수 있습니까?Regex.Match 대문자

현장에서 Regex.Match()를 사용하여 필드가 특정 정규식 패턴과 일치하는지 확인할 수있는 응용 프로그램에서 작업하고 있습니다 (코드에 대한 액세스 권한이 없음). 그래서 문자열 만 대문자 인 경우이 방법을 사용하여 문제를 해결하고 싶습니다.

감사합니다.

+0

단지에만 ASCII 위해 일할 것입니다/^ [A-Z] + $/ – Grice

+0

@JGrice을 사용하지 왜. 그것을 지원하는 Regex 엔진의'\ p {Upper}'는 많은 알파벳에 걸쳐 1483 개의 대문자로 작동합니다. 당신의 제안은 단지 1457 개만 놓친다. ;) 질문 : @ 리차드, 유니 코드, 또는 ASCII 만 지원해야합니까? – DavidO

+0

@DavidO 않습니다 .net Regex.match() 지원 \ p {상단}? 내가 한 빠른 검색에서 그것에 대한 문서를 찾을 수 없습니다. – Grice

답변

4

대문자 만 사용할 수 있으며 공백을 포함하여 특수 문자는 사용할 수 없습니다.

^[A-Z]*$ 

는 (문자 만에게하지 소문자를 포함) 특수 문자를 허용하려면

^[^a-z]*$ 
+0

Shocking ... RegexOptions.IgnoreCase가 설정되었다는 것을 프로 바이더가 알아 냈습니다. 미안 해요. 하지만 앞으로 다른 사람들에게 제프리의 대답을 올바른 것으로 설정해 드리겠습니다. – Richard

2

는 다음과 같은 정규 표현식을 사용할 수 있습니다. 대문자 소문자와 일치하는 대문자와 일치합니다.

^\p{Lu}+$ 

또는 단순히 대문자 만 일치시킬 수 있습니다.

^[A-Z]+$ 
관련 문제