[C# 정규표현식] 정규표현식 - 이메일 주소 찾기
- C#/정규표현식
- 2021. 12. 1. 22:22
참조
- 손에 잡히는 정규 표현식
문자 하나 이상 찾기
- 오늘은 C# 정규표현식에서 문자 하나 이상을 찾는 방법에 대해서 알려 드리려고 합니다.
- 문자나 집합에 속한 요소를 하나 이상 찾으려면 간단히 문자 뒤에 더하기(+) 문자를 붙이면 됩니다.
- 더하기(+)는 문자가 하나 이상일 때 일치합니다.
- a가 a를 찾는 데 반해, a+는 하나 이상 연속된 a를 찾습니다.
- [0-9]는 자릿수가 하나인 숫자를 찾는데 반해, [0-9]+는 한 자리 이상 연속된 숫자를 찾습니다.
예제 코드
- 아래는 이메일 주소를 찾는 예제 코드입니다.
- 더하기(+) 기호를 통해 하나 이상의 문자와 일치 시켜 보도록 하겠습니다.
Send personal email to ben@forta.com. For questions
about a book use support@forta.com. Feel free to send
unsolicited email to spam@namer.com (Wouldn't it be
nice if it were that simple, huh?).
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+@\w+\.\w+ 패턴에 매칭된 데이터 ben@forta.com
\w+@\w+\.\w+ 패턴에 매칭된 데이터 support@forta.com
\w+@\w+\.\w+ 패턴에 매칭된 데이터 spam@namer.com
- 위와 같이
\w+@\w+\.\w+
패턴을 이용해서 이메일 주소 세 개와 정확하게 일치했습니다. - 정규 표현식 \w+를 사용해 우선 하나 이상 연속된 영숫자 문자를 찾았고, 이어서 @을 찾은 다음, 다시 \w+로 하나 이상 연속된 문자를 찾았습니다.
- 그리고 마침표(.) 문자를 \로 이스케이프 하여 마침표(.) 문자도 찾았습니다.
- 마지막으로 한 번 더 \w+를 사용해 주소의 마지막 부분을 찾아서 결국 세 개의 이메일 주소를 모두 찾았습니다.
728x90
'C# > 정규표현식' 카테고리의 다른 글
[C# 정규표현식] 정규표현식 문자가 없는 경우나 하나 이상 연속하는 문자 찾기 (0) | 2021.12.05 |
---|---|
[C# 정규표현식] 정규표현식 이메일 찾기2 (0) | 2021.12.05 |
[C# 정규표현식] 영숫자 문자와 영숫자가 아닌 문자 찾기 (0) | 2021.11.23 |
[C# 정규표현식] 특정한 문자 형태와 일치시키기 (0) | 2021.11.23 |
[C# 정규표현식] 공백 문자 찾기 (0) | 2021.11.21 |
이 글을 공유하기