[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++에서는 이를 효과적으로 다룰 수 있는 기능을 제공합니다.
참고문헌:
- C++ 정규 표현식(https://www.cplusplus.com/reference/regex/)
- 정규 표현식 테스트 및 작성 도구(https://regex101.com/)