728x90

예를 들어서 "R0000-0000" 처럼

'영문 대문자' +  '숫자 4자리' + '-' + '숫자 4자리' 입력을 받았는지 확인 하고 싶다면

Regex.IsMatch 기능을 사용 하면 된다.

아....이거 몰라서 엄청 삽질 했다...ㅂㄷㅂㄷ...

 

 Regex regex = new Regex(@"^[A-Z][0-9]{4}-[0-9]{4}$"); //정규식 지정
 
 if (!(regex.IsMatch(textBox.Text)))
 {
 	MessageBox.Show("양식을 맞춰주세요. \r\n영문 대문자 +  숫자 4자리 + - + 숫자 4자리 \r\n 예 R0000-0000", "오류");
 }

 

정규식 @"^[A-Z][0-9]{4}-[0-9]{4}$" 해석 하자면

 

정규식 양식 앞에 '@' 쓰는 이유는 이스케이프(escape) 문자 기능을 동작하지 않게한다. 꼭 써주는 것이 좋다.

라는데 잘 모르겠다...

 

[A-Z] A~Z 대문자 알파벳 1개

[0-9]{4} 0~9 까지의 숫자 4개

- 중간에 '-' 이게 들어가야 한다.

[0-9]{4} 0~9 까지의 숫자 4개

$ 정규식 지정 종료 알림

 

이렇다.

 

. : 하나의 문자를 의미한다.

예제 : A.B 패턴은 AAB(일치), A1B(일치), AB(불일치), AAB(불일치) 이다.

 

? : 아무문자도 없거나 하나의 문자가 있는 것을 의미한다.

예제 : A?B 패턴은 AAB(일치), AB(일치), AAA(불일치), AAAB(불일치) 이다.

 

* : 0개나 하나이상의 문자가 있는 것을 의미한다.

예제 : A*B 패턴은 AB(일치), AAAAAAAAAB(일치), A123B(일치), AAAAAAAA(불일치) 이다.

 

+ : +앞에있는 문자가 한번이상 반복됨을 의미한다.

예제 : AB+ 패턴은 AB(일치), ABBBB(일치), ABC(불일치), A(불일치) 이다.

 

[] : [ ] 사이에 있는 형식이 일치하는것을 의미한다. 즉 [AB] 는 A, B만일치, [A-Z] 는 A부터 Z중 하나의 문자와 일치한다.

예제 : [A-C] 패턴은 A(일치), B(일치), AB(불일치), BC(불일치) 이다.

 

[^] : ^다음에 문자를 쓰면 해당 문자를 제외한다는 것을 의미한다.

예제 : [^A-C]D 패턴은 DD(일치), AD(불일치), DDD(불일치), D(불일치) 이다.

 

() : ( ) 사이에 문자가 하나의 묶음이된다. 즉 (ab)+ 는 abababab 와 일치한다.

예제 : (ab) 패턴은 ab(일치), ba(불일치) 이다.

 

{} : { } 사이에 숫자를 쓰면 그 숫자 만큼 패턴이 반복됨을 의미한다.

[A-C]{1,4}는 A,B,C 를 1개에서 4개 조합하면 된다. AAAA도 가능하고 A, BA, ABC, ACBA도 가능하다.

예제 : [A-C]{1,3} 패턴은 AA(일치), CBC(일치), ADA(불일치), ACCC(불일치)이다.

*{1,4} 동작, {1, 4} 는 동작 하지 않는다. 

 

^ : 문자열의 시작을 의미한다.

 

$: 문자열의 끝을 의미한다.

 

출처: chiccoder.tistory.com/33

       hijuworld.tistory.com/22

      durubiz.tistory.com/entry/C-%EC%97%90%EC%84%9C-%EC%A0%95%EA%B7%9C%ED%91%9C%ED%98%84%EC%8B%9D-RegexIsMatch-%EC%9D%B4%EC%9A%A9

 

C# 정규식을 사용하여 패턴 매칭(Regex, IsMatch)

정규표현식이라는 표현식을 이용하여 패턴이 일치 하는지 검사 할 수 있다. 예를들어 어떤 문자열이 A부터 C사이에 글자로 시작하면서 5글자이내의 글자인지를 검사하거나 해당 문자열이 숫자

hijuworld.tistory.com

 

C# 문자만 입력, 숫자만 입력 정규식 확인(추후 수정) ID 확인

ㄱ. 목적 1. C#에서 정해진 패턴을 사용해서 패턴에 일치하는 값을 판단하는 정규 표현식의 종류와 사용법에 대해 알아보자 ㄴ. 본론 1. 정해진 패턴에 대한 표현식들은 다음과 같다. 정규 표현식

chiccoder.tistory.com

 

728x90

+ Recent posts