C#

C# 정규표현식

코샵 2023. 3. 29. 15:13
반응형

소개

정규표현식(Regular Expression)은 문자열에서 특정한 패턴을 찾거나, 특정한 패턴으로 문자열을 대체할 때 사용하는 표현식입니다. C#에서는 System.Text.RegularExpressions 네임스페이스를 통해 정규표현식을 지원합니다. 이번 글에서는 C#에서 정규표현식을 사용하는 방법에 대해 자세히 살펴보겠습니다.


정규표현식이란?

정규표현식은 문자열에서 특정한 패턴을 찾거나, 특정한 패턴으로 문자열을 대체할 때 사용하는 표현식입니다. 정규표현식은 문자열에서 일치하는 부분을 찾기 위해 사용됩니다.


정규표현식의 예

다음은 정규표현식의 간단한 예입니다.

using System.Text.RegularExpressions;

string pattern = @"\\\\d+";
string input = "12345";
Regex regex = new Regex(pattern);
Match match = regex.Match(input);
if (match.Success)
{
    Console.WriteLine("Matched: " + match.Value);
}

위의 예제에서는 \d+ 패턴을 사용하여 숫자를 찾습니다. Match() 메서드를 사용하여 패턴과 일치하는 문자열을 찾고, Success 속성을 사용하여 일치하는 문자열이 있는지 확인합니다.


정규표현식 패턴

정규표현식에서 사용되는 패턴은 다양한 종류가 있습니다. 다음은 몇 가지 자주 사용되는 패턴입니다.

  • ^ : 문자열의 시작
  • $ : 문자열의 끝
  • . : 임의의 문자
  • : 0개 이상의 문자
  • : 1개 이상의 문자
  • ? : 0개 또는 1개의 문자
  • [] : 문자 집합
  • [^] : 부정 문자 집합
  • () : 그룹화
  • | : 논리 OR

정규표현식을 사용한 문자열 검색

정규표현식을 사용하여 문자열에서 특정한 패턴을 검색하는 방법은 다음과 같습니다.

using System.Text.RegularExpressions;

string pattern = @"\\\\d+";
string input = "12345";
Regex regex = new Regex(pattern);
MatchCollection matches = regex.Matches(input);
foreach (Match match in matches)
{
    Console.WriteLine("Matched: " + match.Value);
}

위의 예제에서는 Matches() 메서드를 사용하여 문자열에서 모든 숫자를 찾습니다. MatchCollection 객체를 사용하여 일치하는 모든 문자열을 저장하고, foreach 루프를 사용하여 각 일치하는 문자열을 출력합니다.


결론

C#에서 정규표현식은 문자열에서 특정한 패턴을 찾거나, 특정한 패턴으로 문자열을 대체할 때 사용하는 표현식입니다. 정규표현식은 System.Text.RegularExpressions 네임스페이스를 통해 지원됩니다. 이번 글을 통해 정규표현식의 기본 개념과 사용 방법에 대해 알아보았습니다. 정규표현식은 문자열 처리에 매우 유용하므로, C#을 사용하는 개발자라면 정규표현식을 잘 활용할 수 있도록 공부해두는 것이 좋습니다.