[C# 정규표현식] 정규표현식 이메일 찾기2

참조

  • 손에 잡히는 정규표현식


소개

  • 안녕하세요. 오늘은 정규표현식에서 이메일 문자를 찾는 방법에 대해서 알려 드리려고 합니다.
  • 앞선 포스팅에서도 이메일 찾기 관련하여 포스팅을 하였지만, 이번에는 좀더 다양한 이메일을 찾을 수 있는 방법에 대해서 알려 드리도록 하겠습니다.


예제 문

Send personal email to ben@forta.com or
ben.forta@forta.com. For question about a
book use support@forta.com. If your message 
is urgent try ben@urgent.forta.com. Feel
free to send unsolicited email to
spam@forta.com.
  • 위와 같이 예제 문이 있습니다. 여기서는 다수의 이메일이 쓰여져 있는데요.
  • 정규표현식을 통해서 이메일을 찾아보도록 하겠습니다.

예제 코드

using System;
using System.Text.RegularExpressions;

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

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

            foreach (var match in matches)
            { 
                Console.WriteLine($"{pattern} 패턴에 매칭된 데이터 {match}");
            }
        }
    }
}
  • [\w.]+을 쓰니 문자, 밑줄, 마침표(.)가 하나 이상 일치해 ben.forta를 제대로 찾았 냈습니다.
  • [\w.]+는 앳(@) 뒤에서 더 많은 단계의 도메인 주소를 찾기도 했습니다.


실행 결과

[\w.]+@[\w.]+\.\w+ 패턴에 매칭된 데이터 ben@forta.com
[\w.]+@[\w.]+\.\w+ 패턴에 매칭된 데이터 ben.forta@forta.com
[\w.]+@[\w.]+\.\w+ 패턴에 매칭된 데이터 support@forta.com
[\w.]+@[\w.]+\.\w+ 패턴에 매칭된 데이터 ben@urgent.forta.com
[\w.]+@[\w.]+\.\w+ 패턴에 매칭된 데이터 spam@forta.com
728x90

이 글을 공유하기

댓글

Designed by JB FACTORY