参考

公共成员函数
(正则表达式)

std::match_results::begin

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

请注意,如果表达式匹配,则范围中的第一个匹配项始终表示整个匹配的字符序列。如果 regex 对象中明确请求了,则范围中的后续匹配项表示单个子表达式。

如果 match_results 对象是 的(即,表达式不匹配),则返回的值开始end 返回的值相同,表示一个空范围,并且不应被解引用。

如果 match_results 对象未 就绪,则此函数返回的值可能与 end 的值无关,因此不应用于指定范围。它也不应被解引用。

参数



返回值

指向 sub_match 对象的迭代器,该对象描述了 match_results 对象中的第一个匹配项。

成员类型常量迭代器(与成员类型相同迭代器)是一个 前向迭代器 类型。
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



另见