[c++] 정규 표현식을 활용한 유효성 검사

1. 사용자로부터 입력 받기

먼저, 사용자로부터 입력을 받습니다.

#include <iostream>
#include <string>

int main() {
    std::string input;
    std::cout << "이메일 주소를 입력하세요: ";
    std::cin >> input;
    // 입력값 유효성 검사
}

2. 정규 표현식을 이용한 유효성 검사

입력값이 이메일 주소 형식인지 확인하기 위해 정규 표현식을 사용할 수 있습니다. 다음은 이메일 주소의 유효성을 검사하는 예제 코드입니다.

#include <regex>

bool isValidEmail(const std::string& email) {
    const std::regex pattern(R"(\b[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,}\b)");
    return std::regex_match(email, pattern);
}

int main() {
    std::string input;
    std::cout << "이메일 주소를 입력하세요: ";
    std::cin >> input;
    
    if (isValidEmail(input)) {
        std::cout << "유효한 이메일 주소입니다." << std::endl;
    } else {
        std::cout << "유효하지 않은 이메일 주소입니다." << std::endl;
    }
}

위의 코드에서 isValidEmail 함수는 입력값이 정규 표현식 패턴과 일치하는지 검사합니다. 이렇게 함으로써 입력값의 유효성을 쉽게 확인할 수 있습니다.

정규 표현식은 유효성 검사 뿐만 아니라 문자열 처리에서 다양한 용도로 활용될 수 있으며, C++에서는 이를 효과적으로 다룰 수 있는 기능을 제공합니다.

참고문헌: