From cppreference.com
difference_typeposition(size_typen=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.
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>intmain(){std::regexre("a(a)*b");std::stringtarget("aaab");std::smatchsm;std::regex_match(target,sm,re);std::cout<<sm.position(1)<<'\n';}Output:
2 See also