std::match_results::position

From cppreference.com
< cpp‎ | regex‎ | match results
difference_type position( size_type sub = 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 entire matched expression is returned.

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

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

Contents

[edit] Parameters

n - integral number specifying which match to examine

[edit] Return value

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

[edit] Example

#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:

1

[edit] See also

returns specified sub-match
(public member function)