[c++] C++에서의 정규 표현식과 유닛 테스트

C++에서 정규 표현식과 유닛 테스트를 사용하여 문자열 패턴 매칭을 테스트하는 방법에 대해 알아보겠습니다.

정규 표현식 사용하기

C++11 이상에서는 <regex> 헤더를 사용하여 정규 표현식을 다룰 수 있습니다. 다음은 간단한 예제입니다.

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

int main() {
    std::string s = "Hello, C++ regex!";
    std::regex pattern("C\\+\\+");

    if (std::regex_search(s, pattern)) {
        std::cout << "정규 표현식이 매칭됐습니다." << std::endl;
    }
    return 0;
}

위의 예제는 문자열 s에서 C++ 패턴이 매칭되는지 확인하는 방법을 보여줍니다.

유닛 테스트 작성하기

유닛 테스트를 작성하기 위해 보통 Google Test 라이브러리를 사용합니다. 이를 위해 먼저 Google Test를 프로젝트에 추가해야 합니다.

#include <gtest/gtest.h>

TEST(RegexTest, SimpleMatch) {
    std::string s = "Testing regex in C++";
    std::regex pattern("C\\+\\+");
    ASSERT_TRUE(std::regex_search(s, pattern));
}

위의 예제는 문자열 s에서 C++ 패턴이 매칭되는지 테스트합니다.

마무리

C++에서 정규 표현식을 사용하여 문자열 패턴을 매칭하고, Google Test를 사용하여 유닛 테스트를 작성하는 방법에 대해 알아보았습니다. 이러한 기능들을 사용하여 안정적이고 견고한 프로그램을 개발할 수 있습니다.

참고문헌: