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

< cpp‎ | regex‎ | match results

difference_type position( size_type n = 0 ) const; |  | (C++11 起)

返回指定的子匹配的首字符位置。

若 n == 0 ，则返回整个匹配表达式的首字符位置。

若 n > 0 && n < size() ，则返回第 n 个子匹配的首字符位置。

若 n >= size() ，则返回不匹配的首字符位置。

### 参数

n | - | 指定要检验哪个匹配的整数

### 返回值

指定的匹配或子匹配的首字符位置。

### 示例

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

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

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

输出：

    1

### 参阅

operator[] | 返回指定的子匹配 (公开成员函数)