SSISO Community

갤러리정

C#에서 정규식 사용하기 - CSharp

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

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

 

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

     

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


    7641 view

    4.0 stars