[c++] 정규 표현식을 사용한 문자열 분석

정규 표현식은 문자열에서 패턴을 찾거나 변형시키고 싶을 때 자주 사용됩니다. C++11부터는 정규 표현식을 지원하는 <regex> 헤더가 제공됩니다. 이 블로그 글에서는 C++에서 정규 표현식을 사용하여 문자열을 분석하는 방법에 대해 알아보겠습니다.

1. 표준 라이브러리 포함

먼저 <regex> 헤더를 포함하여 표준 라이브러리를 사용할 수 있도록 해야 합니다.

#include <regex>
#include <string>
#include <iostream>

2. 정규 표현식 작성

정규 표현식을 사용하기 전에 패턴을 작성해야 합니다. 아래는 간단한 예제입니다.

std::string pattern = R"(\d+)";  // 숫자 패턴

3. 정규 표현식 객체 생성

작성된 패턴을 기반으로 정규 표현식 객체를 생성합니다.

std::regex regexObj(pattern);

4. 문자열과 매칭

이제 정규 표현식을 사용하여 문자열과 매칭하는 방법에 대해 알아봅시다.

std::string input = "A string containing 123 numbers like 456";

std::smatch match;

if (std::regex_search(input, match, regexObj)) {
    std::cout << "매칭된 문자열: " << match.str() << std::endl;
} else {
    std::cout << "매칭된 문자열이 없습니다." << std::endl;
}

5. 결과 확인

위 예제에서는 “123”이라는 숫자 패턴과 매칭되는 문자열을 찾습니다. 만약 매칭되는 문자열이 없다면 “매칭된 문자열이 없습니다.”를 출력합니다.

이상으로 C++에서 정규 표현식을 사용하여 문자열을 분석하는 방법에 대해 알아보았습니다. 정규 표현식은 문자열 처리에서 매우 유용하며, 표준 라이브러리를 사용하여 간편하게 적용할 수 있습니다.

더 많은 정보는 C++ 공식 문서를 참고하세요.