類模板
<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前向迭代器

成員函式


運算子