public member function
<regex>

std::match_results::end

const_iterator begin() const;
返回指向末尾的迭代器
返回一个迭代器,指向 match_results 对象中超出末尾的匹配项。 与 match_results::begin 一起,这些函数描述了一个范围,该范围包含 match_results 对象中的所有匹配项。

如果 match_results 对象是 空的(即,表达式不匹配),则返回的值为endbegin 返回的值相同,表示一个空范围,不应被取消引用。

如果 match_results 对象未 就绪,则此函数返回的值可能与 begin 的值无关,因此不应用来指定范围。 也不应取消引用。

参数



返回值

一个迭代器,指向 match_results 对象中匹配序列中 超出末尾位置的 sub_match

成员类型const_iterator(与成员类型相同iterator)是一个 前向迭代器 类型。
match_results 对象中包含的匹配项始终为常量。

示例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
// match_results::begin/end
// - using smatch, a standard alias of match_results<string::iterator>
#include <iostream>
#include <string>
#include <regex>

int main ()
{
  std::string s ("subject");
  std::smatch m;
  std::regex e ("(sub)(.*)");

  std::regex_match ( s, m, e );

  std::cout << "matches:" << std::endl;
  for (std::smatch::iterator it = m.begin(); it!=m.end(); ++it) {
	std::cout << *it << std::endl;
  }
  return 0;
}

输出
matches:
subject
sub
ject



另见