std::regex_iterator<BidirIt,CharT,Traits>::regex_iterator

来自cppreference.com
regex_iterator();
(1) (C++11 起)
regex_iterator(BidirIt a, BidirIt b,

               const regex_type& re,
               std::regex_constants::match_flag_type m =

                   std::regex_constants::match_default);
(2) (C++11 起)
regex_iterator(const regex_iterator&);
(3) (C++11 起)
regex_iterator(BidirIt, BidirIt,

               const regex_type&&,
               std::regex_constants::match_flag_type =

                   std::regex_constants::match_default) = delete;
(4) (C++11 起)

构造新的 regex_iterator

1) 默认构造函数。构造序列尾迭代器。
2) 从字符序列 [a, b) 、正则表达式 re 和掌管匹配行为的标志 m 构造 regex_iterator 。此构造函数以此数据进行 std::regex_search 的初始调用。若此初始调用结构为 false ,则设置 *this 为序列尾迭代器。
3) 复制 regex_iterator
4) 不允许以临时 regex 调用重载 2 ,因为返回的迭代会被立即非法化。

参数

a - 指向目标字符序列起始的 BidirIt
b - 指向目标字符序列结尾的 BidirIt
re - 用于搜索目标字符序列的正则表达式
m - 掌管 re 行为的标志

示例

缺陷报告

下列更改行为的缺陷报告追溯地应用于以前出版的 C++ 标准。

缺陷报告 应用于 出版时的行为 正确行为
LWG 2332 C++11 从临时 basic_regex 构造的 regex_iterator 会立即变为非法 通过被删除的重载禁止这种构造