[c++] 정규 표현식을 사용한 특정 문자열 추출
정규 표현식이란?
정규 표현식은 특정한 규칙을 가진 문자열을 표현하는 데 사용되는 형식 언어입니다. C++에서는
아래는 정규 표현식을 사용하여 특정 문자열을 추출하는 간단한 예제 코드입니다.
#include <iostream>
#include <regex>
#include <string>
int main() {
std::string text = "The quick brown fox jumps over the lazy dog";
std::regex pattern("quick (.*?) fox");
std::smatch match;
if (std::regex_search(text, match, pattern)) {
std::cout << "추출된 문자열: " << match.str(1) << std::endl;
}
return 0;
}
위 코드에서는 “quick”과 “fox” 사이의 문자열을 추출하기 위한 정규 표현식을 사용했습니다.
코드 설명
std::regex pattern("quick (.*?) fox");
: “quick”과 “fox” 사이의 문자열을 나타내는 정규 표현식을 정의합니다.()
는 그룹화를 의미하고,?
는 최소 일치를 의미합니다.std::smatch match;
: 정규 표현식이 일치하는 부분 문자열을 저장하는데 사용됩니다.std::regex_search(text, match, pattern)
: 정규 표현식을 사용하여 문자열을 검색하고, 일치하는 부분을 match에 저장합니다.match.str(1)
: 두 번째 그룹에 해당하는 일치하는 문자열을 가져옵니다.
결론
정규 표현식을 사용하여 문자열을 추출하는 방법에 대해 알아보았습니다. 이를 응용하여 다양한 패턴의 문자열을 추출할 수 있으며, 유용한 기능이 될 수 있습니다.
더 많은 정보는 아래의 C++ 정규 표현식 참조 문서를 참고하시기 바랍니다.
- C++ 정규 표현식 참조 문서: https://en.cppreference.com/w/cpp/regex