예를 들어서 "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} 는 동작 하지 않는다.
^ : 문자열의 시작을 의미한다.
$: 문자열의 끝을 의미한다.
'C#' 카테고리의 다른 글
C# / 배열(List) 비교해서 중복 안되는 항목 출력 / Collection was modified; enumeration operation may not execute (0) | 2021.03.29 |
---|---|
C# Winform, 윈폼 / Form, 폼 위에 마우스 있는지 없는 지, 컨트롤 여러 개 있어도 확인 하기 (0) | 2021.03.26 |
c# using MAC Address / 맥주소 받아오기 / 사용중인 맥주소 받아오기 (0) | 2021.03.08 |
c# 인터넷 연결 확인 하기 (0) | 2021.02.26 |
C# 중복 실행 방지 (0) | 2021.02.26 |