C#

C# 정규 표현식(Regular Expression) 활용 (Match, Result)

우준세 2024. 10. 27. 23:34
728x90
반응형

 

이전 포스팅에 이어 C#에서 정규표현식을 활용하는 방법 중

Match와 Result 메서드를 활용하는 방법을 정리했습니다.

 

이전 포스팅은 정규표현식에 대한 기본 개념을 설명했는데

보시면 이번 정리 내용을 이해하기 쉬울 것 같습니다.

 

C# 정규 표현식(Regular Expression) 이해

 

C# 정규 표현식(Regular Expression) 이해

이번 포스팅은 프로젝트르 진행하면서 유용하게 사용한정규 표현식에 대해 정리하였습니다. | 정규 표현식 (Regular Expression) 정규 표현식은 문자열 검색 및 문자열 조작을 위해 사용하는 개념

wjunsea.tistory.com


| Macth 메서드

Regex의 Match 메서드는 특정 문자열에 대해 정규표현식을 적용하고,

일치하는 첫 번째 패턴을 찾습니다. 

만약 일치하는 패턴이 없다면 Match 객체가 반환되지만,

Success 속성은 false로 표시됩니다.

 

 

예시) 14글자_DateTime 형식의 문자열을 찾는 예제 

string input = "A1B2C3D4E5F6G7_20241027";
string pattern = @"([A-Z0-9]{14})_(\d{8})";

// 정규표현식을 이용해 파일명을 매칭
Match match = Regex.Match(input, pattern);

 

위 코드에서 정규표현식 매칭은 다음과 같이 이루어집니다.

 

  • [A-Z0-9]{14} : 14자리의 알파벳과 숫자의 조합
  • _ : 구분자
  • \d{8} : 8자리의 날짜 (yyyyMMdd 형식)

pattern 변수에 정규표현식이 정의되어 있으며

이 패턴은 문자열의 14자리 부분과 DateTime (8자리)을 매칭합니다.


| Result 메서드

Result 메서드는 Match에서 찾은 매칭 결과를 

특정 형식으로 변환하는 데 사용합니다. 

Match로 포맷팅 한 문자열을 원하는 형식으로 변환할 수 있습니다.

 

ex)  14글자_DateTime 형식의 문자열 찾은 것을 변환하는 예제 

if (match.Success)
{
    // ID와 날짜 부분을 추출하여 원하는 형식으로 출력
    string result = match.Result("ID: $1, Date: $2");
    Console.WriteLine(result);
}
else
{
    Console.WriteLine("No matching Index file found.");
}

 

앞서 Match로 찾은 문자열을 Result 메서드에서 "ID : $1, Date : $2" 를 사용하여 

첫 번째 그룹은 ID, 두 번째 그룹은 DateTime으로 참조해 원하는 형식으로 결과를 출력합니다. 

 

| 출력 결과

ID: A1B2C3D4E5F6G7, Date: 20241027

| 마무리

Match와 Result 메서드는 특히 로그 분석이나 텍스트 파싱 등에서 활용할 수 있습니다.

Match 메서드를 통해 특정 패턴을 감지한 뒤,

Result 메서드로 원하는 형식으로 출력함으로써 작업을 효율적으로 할 수 있습니다. 

 

틀린 점이나 질문이 있으시면 댓글로 남겨주세요! 

 

감사합니다 :)

728x90
반응형