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