regex_regex_iterator
regex_regex_iterator (정규식 반복자)
std::regex_iterator은 기본 문자 시퀀스 내에서 정규식의 개별 일치에 접근하는 읽기 전용 반복자예요. C++11부터 사용할 수 있어요.
출처: cppreference
본문
<regex> 헤더에 정의되어 있고, 시그니처는 다음과 같아요.
template<
class BidirIt,
class CharT = typename std::iterator_traits<BidirIt>::value_type,
class Traits = std::regex_traits<CharT>
> class regex_iterator
(since C++11)
std::regex_iterator은 기본 문자 시퀀스 내에서 정규식의 개별 일치에 접근하는 읽기 전용 반복자예요. LegacyForwardIterator의 요구사항을 만족하지만, 역참조 가능한 값 a와 b에 대해 a == b이면 *a와 *b가 같은 객체에 바인딩되지 않는다는 점은 예외예요.
생성 시와 매 증가 시마다 std::regex_search를 호출하고 결과(즉 std::match_results<BidirIt> 값의 복사본)를 기억해요. 첫 번째 객체는 반복자가 생성될 때 또는 첫 번째 역참조가 이루어질 때 읽을 수 있어요. 그 외에는 역참조가 가장 최근에 얻은 정규식 일치의 복사본만 반환해요.
기본 생성된 std::regex_iterator은 시퀀스 끝 반복자예요. 유효한 std::regex_iterator가 마지막 일치 후에 증가하면 시퀀스 끝 반복자와 같아져요.