类模板
<regex>

std::regex_iterator

template <class BidirectionalIterator,          class charT=typename iterator_traits<BidirectionalIterator>::value_type,          class traits=regex_traits<charT> > class regex_iterator;
正则表达式迭代器
用于迭代序列中相同正则表达式模式的多个匹配的迭代器类型。

构造时,以及每次应用operator++时,迭代器会执行一次regex_search来查找序列中的连续匹配。解引用一个有效的regex_iterator会得到一个match_results对象。

一个特殊的regex_iterator值用于表示“序列结束”。此迭代器不应被解引用。对于同一类型的任何“序列结束”regex_iterator对象,它们的值都是相同的,无论它们迭代的序列是什么。

在内部,该对象保留一个match_results对象,其中包含最近一次匹配(如果有)的信息,该对象在每次使用operator++递增迭代器时都会更新。当迭代器通过operator*解引用时,返回此对象的引用。

除了这个match_results对象之外,迭代器在内部还保留了在构造时或由于赋值操作而设置的以下信息:
  • 整个目标序列的开始和结束
  • 一组标志
  • 对正则表达式对象的引用(请注意,只保留了其引用,而不是副本)。


模板参数

BidirectionalIterator
一个双向迭代器类型,用于迭代字符的目标序列。
charT
字符类型。
特性 (traits)
一个正则表达式特征类型(更多信息请参见regex_traits)。

成员类型

以下别名是match_results的成员类型。它们被成员函数广泛用作参数和返回类型。

成员类型定义说明
regex_typebasic_regex<charT,traits>用作模式的basic_regex对象的类型。
value_typematch_results<BidirectionalIterator>迭代的元素的类型(match_results)。
指针const value_type*
引用const value_type&
difference_typestd::ptrdiff_t一个有符号整型类型(参见ptrdiff_t)。
iterator_categorystd::forward_iterator_tag前向迭代器

成员函数


运算符