# std::match_results<BidirIt,Alloc>::size

< cpp‎ | regex‎ | match results

size_type size() const noexcept; |  | (C++11 起)

返回子匹配数，即 std::distance(begin(), end()) 。

若 `*this` 不表示成功匹配的结果则返回 `0` 、

### 参数

（无）

### 返回值

子匹配数

### 复杂度

常数

### 示例

    #include <iostream>
    #include <regex>
    #include <string>

    int main()
    {
        std::regex re("a(a)*b");
        std::string target("aaab");
        std::smatch sm;

        std::cout << sm.size() << '\n';

        std::regex_match(target, sm, re);
        std::cout << sm.size() << '\n';
    }

输出：

    0
    2

### 参阅

begin cbegin | 返回指向子匹配列表起始的迭代器 (公开成员函数)
end cend | 返回指向子匹配列表末尾的迭代器 (公开成员函数)