[C# 정규표현식] 공백 문자 찾기

참조

  • 손에 잡히는 정규표현식


소개

  • 메타 문자는 일반적으로 두 가지 범주로 나뉩니다.
  • 마침표(.) 처럼 텍스트와 일치하는 문자와 대괄호([]) 처럼 정규 표현식 문법의 일부로 쓰는 문자로 나뉩니다.
  • 오늘은 공백 문자를 살펴보면서 두 가지 유형을 한 메타 문자들을 접하려고 합니다.


공백 문자 찾기

  • 정규 표현식 검색을 수행할 때, 눈에 보이지 않지만 텍스트에 포함되는 공백 문자들도 찾아야 할 때가 있습니다.
  • 예를 들어 탭 문자를 모두 찾거나 줄바꿈 문자를 찾고 싶을 수도 있습니다.
  • 꼼수를 이용하지 않고 이런 문자를 정규 표현식에 직접 써넣기가 어렵기 때문에 아래 표에서 나온 것과 같은 특수한 메타 문자들을 사용해야 합니다.


메타 문자 설명
[\br] 역스페이스
\f 페이지 넘김
\n 줄바뀜
\r 캐리지 리턴
\t
\v 수집 탭


예제 코드

  • 아래 예제 코드가 있습니다.
  • 여기에 나오는 예문에는 콤마로 구분뒨 레코드가 담겨 있습니다.
  • 아래 예제에서 데이터에 있는 빈 줄을 모두 제거해야 한다고 가정해보고 정규 표현식을 작성해 보겠습니다.
"101", "Ben", "Forta"
"102", "Jim", "James"

"103", "Roberta", "Robertson"
"104", "Bob", "Bobson"
using System;
using System.Text;
using System.Text.RegularExpressions;

namespace Test
{
    class Program
    {
        static void Main(string[] args)
        {
            string path = @"C:\Users\Desktop\RegexTest.txt";
            string textValue = System.IO.File.ReadAllText(path);
            string pattern = @"\r\n\r\n";

            var matches = Regex.Matches(textValue.ToString(), pattern);

            foreach(var match in matches)
            {
                Console.WriteLine($"{pattern} 패턴에 매칭된 데이터 {match}");
            }
        }
    }
}
\r\n\r\n 패턴에 매칭된 데이터
  • \r\n은 줄바꿈과 캐리지 리턴의 조합과 일치합니다.
  • 윈도에서 이 조합은 줄의 끝을 나타내는 데 사용합니다.
  • 따라서 \r\n\r\n을 검색하면, 줄 끝이 연속해서 두 번 나오는 부분과 일치하는데, 이 떄 줄의 끝이 두번 나온다는 것을 바로 두 레코드 사이에 빈 줄이 있음을 의미합니다.
728x90

이 글을 공유하기

댓글

Designed by JB FACTORY