[C# 정규표현식] 정규표현식 제외하기

참조

  • 손에 잡히는 정규표현식


소개

  • 안녕하세요. 오늘은 정규표현식에서 찾고 싶은 문자가 아닌 제외하고 싶은 문자 목록을 어떻게 정규표현식에서 표현하는지 알려 드리려고 합니다.
  • 보통 정규표현식은 일반적으로 찾고 싶은 문자의 목록을 정하는데 쓰지만, 반대로 찾을 때 제외하고 싶은 문자 목록을 정할때도 쓸 수 있습니다.
  • 캐럿(^) 문자를 써 제외할 문자 집합을 지정하면 되는데요.
  • 예제 코드를 통해서 어떻게 사용하는지 보도록 하겠습니다.


예제 코드

using System;
using System.Text.RegularExpressions;

namespace test
{
    class Program
    {
        static void Main(string[] args)
        {
            string text = "sales1.xls, order3.xls, sales2.xls, sales3.xls, apac1.xls, europe2.xls, sa.xls, na1.xls, na2.xls, sa1.xls, sam.xls";
            string pattern = @"[ns]a[^0-9]\.xls";

            var matches1 = Regex.Matches(text, pattern);

            foreach (var match in matches1)
            {
                Console.WriteLine($"{pattern} 패턴에 매칭된 데이터 {match}");
            }
        }
    }
}
  • 위의 패턴을 보시게 되면 [^0-9]는 정해진 범위 내에 있는 수자와 일치하지 않습니다.
  • 즉 [ns]a[^0-9].xls는 na1.xls, na2.xls, sa1.xls 와는 일치하지 않게 됩니다.
  • 오직 sam.xls 와 일치합니다.


실행 결과

[ns]a[^0-9]\.xls 패턴에 매칭된 데이터 sam.xls
728x90

이 글을 공유하기

댓글

Designed by JB FACTORY