정규식에 대해서 대충 어떤 것인지는 알고 있었지만... 실제로 사용해 보기는 첨이었다.

다른 방법을 써도 되지만 그래도 함 공부하는 셈 치고...

 

MSDN에 나와 있는

######################################################################

'.NET Framework 정규식'에 대한 설명

정규식은 텍스트 처리를 위한 강력하고 효과적이며 융통성 있는 방법을 제공합니다. 정규식의 광범위한 패턴 일치 표기법을 사용하면 많은 양의 텍스트를 신속히 구문 분석하여 특정 문자 패턴을 찾을 수 있고, 텍스트 부분 문자열을 추출, 편집, 바꾸기 또는 삭제하거나 추출된 문자열을 컬렉션에 추가하여 보고서를 생성할 수 있습니다. HTML 처리, 로그 파일 구문 분석, HTTP 헤더 구문 분석 등 문자열을 다루는 여러 응용 프로그램에서 정규식은 반드시 필요한 도구입니다.

Microsoft .NET Framework 정규식은 Perl과 awk의 기능과 같은 다른 정규식 구현에서 가장 많이 사용되는 기능을 포함합니다. Perl 5 정규식과 호환되도록 디자인된 .NET Framework 정규식은 오른쪽에서 왼쪽으로 일치 검사, 실행 중 컴파일 등 다른 구현에서 아직 볼 수 없는 기능들을 포함합니다.

.NET Framework 정규식 클래스는 기본 클래스 라이브러리의 일부이며, ASP.NET 및 Visual Studio .NET과 같이 공용 언어 런타임을 목적으로 하는 언어 또는 도구와 함께 사용될 수 있습니다.

######################################################################

 

C#에서 정규식에 관련된 Namespace는 'System.Text.RegularExpressions' 이다.

 

 

아래 URL은 정규식을 정의할 때 사용되는 요소들에 대한 설명이다.

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpgenref/html/cpconRegularExpressionsLanguageElements.asp

 

실제 정규식을 이용하는 예제는

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpguide/html/cpconregularexpressionexamples.asp

 

 

실제 사용했던 Code

 

    System.Text.RegularExpressions.Regex r = new System.Text.RegularExpressions.Regex("^[0-9]*$");
   
    if(!(r.IsMatch(rows[0])))
     break;

 

아주 간단하죠.. 제대로 된건지 모르겠지만 테스트 해보니까 잘 작동하는 거라서..

숫자로만 이루어져 있지 않으면 끝내는 코드..

 

몇가지 예제입니다.

  • 전화번호 : 0\d{2,3}\-\d{2,4}\-\d{3,4}
  • 휴대폰번호 : 01[16789]\-\d{2,4}\-\d{3,4}
  • 주민등록번호: \d{6}\-\d{7}
  • domain : http\:\/\/[\w\-]+(\.\[\w\-]+)+
  •  

    예제 출처 : http://www.taeyo.net/lecture/NET_01/cassatt_05.asp

     

    더 많은 예제와 정보가 있는 사이트 : http://www.regexlib.com

    여기도 괜찮네요 : http://www.regular-expressions.info/

     

    정규식 만들때 사용할 수 있는 Visual한 Designer~

    http://www.sellsbrothers.com/tools/#regexd

     

    혹시 잘못된게 있거나 추가 정보가 있으면 덧글 부탁합니다.

    'programming > c#' 카테고리의 다른 글

    .Net Refactoring  (0) 2004.01.30
    배열관련 사항  (2) 2003.10.30
    엑셀 파일에서 데이터를 load할 때...  (0) 2003.10.30

    + Recent posts