[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, na1.xls, na2.xls, sa1.xls";
            string pattern1 = @".a.";
            string pattern2 = @".a.\.xls";

            var matches1 = Regex.Matches(text, pattern1);
            var matches2 = Regex.Matches(text, pattern2);

            foreach (var match in matches1)
            {
                Console.WriteLine($"{pattern1} 패턴에 매칭된 데이터 {match}");
            }

            Console.WriteLine();

            foreach (var match in matches2)
            {
                Console.WriteLine($"{pattern2} 패턴에 매칭된 데이터 {match}");
            }
        }
    }
}
  • 위와 같이 \ 역슬래시를 마침표와 함께 이용하면, 여러 확장자가 있어도 본인이 정확히 원하는 확장자만 매칭시켜 데이터를 가져올 수 있습니다.
  • 정규 표현식에서 역슬래시() 는 주로 특별한 의미를 지니는 문자의 맨 앞에 표시합니다.


실행 결과

  • 실행결과, 단순히 패턴이 .a. 이라고 표현한 정규표현식의 출력 결과는 sal,sal,sal,ap,na1,na2,sa1 등과 같이 원하지 않는 데이터 같이 찾게 되었습니다.
  • 하지만, .a.\.xls 라고 패턴을 작성하니까 na1.xls, na2.xla, sa1.xls 3개의 데이터만 매치되어 출력된 것을 확인할 수 있습니다.
.a. 패턴에 매칭된 데이터 sal
.a. 패턴에 매칭된 데이터 sal
.a. 패턴에 매칭된 데이터 sal
.a. 패턴에 매칭된 데이터  ap
.a. 패턴에 매칭된 데이터 na1
.a. 패턴에 매칭된 데이터 na2
.a. 패턴에 매칭된 데이터 sa1

.a.\.xls 패턴에 매칭된 데이터 na1.xls
.a.\.xls 패턴에 매칭된 데이터 na2.xls
.a.\.xls 패턴에 매칭된 데이터 sa1.xls
728x90

이 글을 공유하기

댓글

Designed by JB FACTORY