[c++] 문자 클래스와 메타 문자
이번에는 정규 표현식에서 사용되는 문자 클래스와 메타 문자에 대해 알아보겠습니다.
문자 클래스
문자 클래스는 정규 표현식 내에서 특정 유형의 문자를 나타내는데 사용됩니다. 예를 들어, [abc]
는 ‘a’, ‘b’, ‘c’ 중 하나의 문자와 일치한다는 것을 의미합니다.
다음은 일반적으로 사용되는 문자 클래스들입니다.
[abc]
: ‘a’, ‘b’, ‘c’ 중 하나의 문자와 일치[a-z]
: 알파벳 소문자 중 하나의 문자와 일치[A-Z]
: 알파벳 대문자 중 하나의 문자와 일치[0-9]
: 숫자 중 하나의 문자와 일치
메타 문자
메타 문자는 특별한 의미를 가지고 있는 문자로, 정규 표현식에서 패턴을 나타내기 위해 사용됩니다.
가장 흔히 쓰이는 메타 문자들 중 몇 가지를 살펴봅시다.
.
: 모든 문자와 일치^
: 문장이나 문자열의 시작 부분과 일치$
: 문장이나 문자열의 끝 부분과 일치*
: 바로 앞의 패턴이 0번 이상 반복되는 문자열과 일치+
: 바로 앞의 패턴이 1번 이상 반복되는 문자열과 일치?
: 바로 앞의 패턴이 0 또는 1번 등장하는 문자열과 일치
예제
다음은 C++에서 문자 클래스와 메타 문자를 사용한 예제 코드입니다.
#include <iostream>
#include <regex>
int main() {
std::string s = "apple";
std::regex pattern("[ap]+le");
if (std::regex_match(s, pattern)) {
std::cout << "문자열이 패턴과 일치합니다." << std::endl;
} else {
std::cout << "문자열이 패턴과 일치하지 않습니다." << std::endl;
}
return 0;
}
요약
정규 표현식에서 문자 클래스와 메타 문자는 특정 유형의 문자나 패턴을 나타내는 데 사용됩니다. 이러한 기능들을 이용하여 다양한 문자열 패턴을 찾거나 대체할 수 있습니다.
이상으로 C++에서 문자 클래스와 메타 문자에 대한 간단한 소개를 마치도록 하겠습니다. 감사합니다.