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

From cppreference.com
< cpp‎ | regex‎ | match results

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

Returns the position of the first character of the specified sub-match.

If n == 0, the position of the first character of the entire matched expression is returned.

If n > 0 && n < size(), the position of the first character of the nth sub-match is returned.

if n >= size(), a position of the first character of the unmatched match is returned.

`ready()` must be true. Otherwise, the behavior is undefined.

### Parameters

n | - | integral number specifying which match to examine

### Return value

The position of the first character of the specified match or sub-match.

### Example

Run this code

    #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';
    }

Output:

    2

### See also

operator[] | returns specified sub-match (public member function)

Retrieved from "https://en.cppreference.com/mwiki/index.php?title=cpp/regex/match_results/position&oldid=179515"