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

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.

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

#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

See also

returns specified sub-match
(public member function)

© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
http://en.cppreference.com/w/cpp/regex/match_results/position