std::match_results<BidirIt,Alloc>::position
From cppreference.com
 
 
 < cpp | regex | match results 
 
 
 C++ 
 Feature test macros (C++20)
 Concepts library (C++20)
 Metaprogramming library (C++11)
 Ranges library (C++20)
 Filesystem library (C++17)
 Concurrency support library (C++11)
 Execution control library (C++26)
Text processing library 
 
 
 
 
 
 
 
 
 Regular expressions library (C++11)
 Formatting library (C++20)
(C++17)
(C++17)
(C++17)
(C++17)
(C++17)
(C++26)
Regular expressions library 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 Classes
(C++11)
(C++11)
(C++11)
 Algorithms
(C++11)
(C++11)
(C++11)
 Iterators
(C++11)
(C++11)
 Exceptions
(C++11)
 Traits
(C++11)
 Constants
(C++11)
(C++11)
(C++11)
 Regex Grammar
(C++11)
std::match_results 
 
 
 Member functions
 State
 Element access
match_results::position
 Iterators
 Format
 Modifiers
 Non-member functions
(until C++20)
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.
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
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