public member function
<regex>

std::sub_match::length

difference_type length() const;
返回长度
返回子匹配项的长度(以字符为单位)。

这是对象作为数据(成员firstsecond)保存的迭代器之间的距离,如果对象状态是matched。 否则,它是0.

参数



返回值

子匹配项中的字符数。

difference_type是一个成员类型,定义为迭代器类型使用的差分类型的别名BidirectionalIterator(模板参数)。 这通常是一个带符号的整数类型。

示例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
// sub_match::length
#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 );

  for (unsigned i=0; i<m.size(); ++i) {
    std::cout << "match " << i << " (" << m[i] << ")";
    std::cout << " has a length of " << m[i].length() << std::endl;
  }
  return 0;
}

输出
match 0 (subject) has a length of 7
match 1 (sub) has a length of 3
match 2 (ject) has a length of 4


另见