[C# 정규표현식] 정규표현식 마침표(.) 문자 찾기

소개

  • 안녕하세요. 최근들어 프로젝트를 진행하다 보니까 정규표현식의 필요성이 느껴지게 되면서 공부를 해야겠다 생각이 들었습니다.
  • 그래서 오늘부터는 시간 나는대로 정규표현식을 공부해서 블로그에 기록을 남기려고 합니다.
  • 오늘은 그 첫 번째 시간으로 단순히 문자열 찾는 방법을 정규표현식으로 패턴을 작성해 표현해 보려고 합니다.
  • 정규포현식은 프로그래밍 언어와 상관없이 공통된 문법이기 때문에, 저 같은 경우에는 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 pattern = @"sales.";
            var matches = Regex.Matches(text, pattern);

            foreach (var match in matches)
            {
                Console.WriteLine($"{pattern} 패턴에 매칭된 데이터 {match}");
            }
        }
    }
}
  • 위와 같이 패턴을 sales. 으로 작성하였습니다.
  • 위와 같은 표현의 의미는, sales로 시작하고 sales 바로 뒤에 아무 문자가 하나 더 붙는 파일명을 모두 찾는 의미입니다.
  • 현재 text에서는 sales. 패턴에 일치하는 데이터는 sales1, sales2, sales3 총 3개의 문자들이 패턴과 일치하게 됩니다.
  • 마침표(.) 는 어떠한 문자나 알파벳, 숫자, 심지어는 문장 부호로 쓰인 마침표(.) 와도 일치합니다.
  • 때문에 정규표현식에서 내가 어떤 문자를 찾고자 할때 마침표를 잘 활용하면 유용하게 문자들을 찾을 수 있습니다.


실행 결과

sales. 패턴에 매칭된 데이터 sales1
sales. 패턴에 매칭된 데이터 sales2
sales. 패턴에 매칭된 데이터 sales3

마침표 여러개 사용 예제 코드

  • 마침표를 여러 개를 동시에 사용하여 문자열을 찾을 수도 있습니다.
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 pattern = @".a.";
            var matches = Regex.Matches(text, pattern);

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


실행 결과

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

이 글을 공유하기

댓글

Designed by JB FACTORY