이전 포스팅에 이어 C#에서 정규표현식을 활용하는 방법 중
Match와 Result 메서드를 활용하는 방법을 정리했습니다.
이전 포스팅은 정규표현식에 대한 기본 개념을 설명했는데
보시면 이번 정리 내용을 이해하기 쉬울 것 같습니다.
C# 정규 표현식(Regular Expression) 이해
| 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 메서드로 원하는 형식으로 출력함으로써 작업을 효율적으로 할 수 있습니다.
틀린 점이나 질문이 있으시면 댓글로 남겨주세요!
감사합니다 :)
'C#' 카테고리의 다른 글
C# 정규 표현식(Regular Expression) 이해 (0) | 2024.10.26 |
---|---|
C# Enum 열거형에서 Name, Value 처리하는 방법 (0) | 2024.10.06 |
C# 배열을 메서드에 전달하면 안되는 이유 (1) | 2024.10.05 |
C# Modbus TCP 통신 뚫기 : NModbus 라이브러리 사용 (2) | 2024.10.03 |
C# 네트워크 통신을 위한 BitConverter 클래스 이해 (0) | 2024.03.18 |