티스토리 뷰
정규 표현식은 책으로도 1권 될 정도로 분량도 많고 복잡하기도 하고 나에겐 매우 어렵다..ㅡ,.ㅡ;
그래서 네이년한테 물어봤더니 쫘~~~~악~~ 그것도 한글로 나오는데 읽어도 읽어도 당췌 뭔소린지
알수가 없다...ㅡ,.ㅡ;;;; 고로 거창하게는 아니고 그냥 프로젝트하다가 적용한 사례 정도만 나중에 혹시
사용할일이 있지 않을까해서 정리해논다(사실 정리 안됨..ㅡ,.ㅡ;;)
본인은 C, C++이 주 언어지만(그렇다고 절대로!! 잘하는건 아님) C#코드로 구현했기 때문에
개발자답게(?) 고대로 Copy & Paste와 간단한 설명을 남긴다.
참고로 C#인지 닷넷인지뭔지 몰라도 이놈은 정규식을 완벽히 지원한단다.
using System.Text.RegularExpressions
bool IsVaildStr(string strText)
{
string Pattern = @"^[a-zA-Z0-9가-힣]*$";
return Regex.IsMatch(strText, Pattern);
}
간단히 설명하자면 strText의 문자열이 대-소문자 알파벳, 숫자, 한글인지를 체크하는 정규식이다
유저 계정 만들때 사용한 정규식인데 아이디에 특수문자를 사용할수 없게끔하는 식이다
특이하게 한글이 들어간 이유는 모 포탈 사이트에서는(한게임인가로 기억됨...아님 말고...^^)
한글 계정도 지원한다기에 그냥 넣어봤다
자세한 내용은 아래 설명 참조!
※ 정규식 설명
^
입력의 시작 위치를 의미한다. 여러 줄 모드에서는 줄바꿈 뒤도 의미한다
/^A/
"An A"에서 시작 위치 바로 뒤의 A는 일치하지만 마지막의 A는 일치하지 않는다.
^[a-z]
첫 글자는 반드시 소문자 a-z 사이의 문자를 뜻한다
$
입력의 마지막 위치를 의미한다. 여러 줄 모드에서는 줄바꿈 앞도 의미한다.
/a$/
"Cocoa"에서 마지막에 있는 'a'와 일치한다.
[a-z]$
마지막 글자는 반드시 소문자 a-z사이의 문자를 뜻한다
*
* 앞의 문자가 0번 이상 반복됨을 의미한다.
선택 기호: "|" 기호는 여러 식 중에서 하나를 선택한다.
"abc|adc"는 abc라는 문자열과 adc라는 문자열을 모두 포함한다.
묶기 기호: (와 )로 여러 식을 하나로 묶을 수 있다.
"abc|adc"와 "a(b|d)c"는 같은 의미를 가진다.
[] : [과 ] 사이의 문자 중 하나를 선택한다. "|"를 여러 개 쓴 것과 같은 의미를 가진다.
[abc]d는 ad, bd, cd를 뜻한다. 또한, "-" 기호와 함께 쓰면 문자의 범위를 지정할 수 있다.
[a-z]는 a부터 z까지 중 하나, [1-9]는 1부터 9까지 중의 하나를 뜻한다.
[^] : [^과 ] 사이의 문자를 제외한 나머지 하나를 선택한다.
[^abc]d는 ad, bd, cd는 포함하지 않고 ed, fd 등을 포함한다.
[^a-z]는 알파벳 소문자로 시작하지 않는 모든 문자를 나타낸다.
※ POSIX 문자 그룹(character Classes)
'Programming > .Net' 카테고리의 다른 글
쿠키값 설정 및 사용 (0) | 2010.11.05 |
---|---|
C#에서 IP주소 MAC 주소 가지고 오기 (0) | 2010.10.25 |
유효성 검사(RequiredFieldValidator)시 그룹사용 방법 (0) | 2010.09.01 |
C# 오라클 DB 연결 및 입력 (0) | 2009.11.04 |
Excel C#연동 (0) | 2009.11.04 |