std::match_results
Defined in header <regex>
|
||
template
<
class BidirIt, |
(1) | (since C++11) |
namespace pmr {
template
<
class BidirIt>
|
(2) | (since C++17) |
The class template std::match_results
holds a collection of character sequences that represent the result of a regular expression match.
This is a specialized allocator-aware container. It can only be default created, obtained from std::regex_iterator, or modified by std::regex_search or std::regex_match. Because std::match_results
holds std::sub_matches, each of which is a pair of iterators into the original character sequence that was matched, it's undefined behavior to examine std::match_results
The first std::sub_match (index 0) contained in a std::match_result
always represents the full match within a target sequence made by a regex, and subsequent std::sub_match
std::match_results
meets the requirements of a AllocatorAwareContainer and of a
SequenceContainer
Type requirements
-
BidirIt must meet the requirements of LegacyBidirectionalIterator
|
||
-
Alloc must meet the requirements of Allocator
|
Specializations
Several specializations for common character sequence types are provided:
Defined in header
<regex> | |
Type | Definition |
std::cmatch
|
std:: match_results < const char * > |
std::wcmatch
|
std:: match_results < const wchar_t * > |
std::smatch
|
std:: match_results <std:: string :: const_iterator > |
std::wsmatch
|
std:: match_results <std:: wstring :: const_iterator > |
std::pmr::cmatch (C++17)
|
std:: pmr :: match_results < const char * > |
std::pmr::wcmatch (C++17)
|
std:: pmr :: match_results < const wchar_t * > |
std::pmr::smatch (C++17)
|
std:: pmr :: match_results <std:: string :: const_iterator > |
std::pmr::wsmatch (C++17)
|
std:: pmr :: match_results <std:: wstring :: const_iterator > |
Member types
Member type | Definition |
allocator_type
|
Allocator
|
value_type
|
std::sub_match<BidirIt> |
const_reference
|
const value_type& |
reference
|
value_type&
|
const_iterator
|
implementation-defined (depends on the underlying container) |
iterator
|
const_iterator
|
difference_type
|
std::iterator_traits <BidirIt> :: difference_type |
size_type
|
std::allocator_traits <Alloc> :: size_type |
char_type
|
std::iterator_traits <BidirIt> :: value_type |
string_type
|
std::basic_string<char_type> |
Member functions
constructs the object (public member function) |
|
destructs the object (public member function) |
|
assigns the contents (public member function) |
|
returns the associated allocator (public member function) |
|
State | |
checks if the results are available (public member function) |
|
Size | |
checks whether the match was successful (public member function) |
|
returns the number of matches in a fully-established result state (public member function) |
|
returns the maximum possible number of sub-matches (public member function) |
|
Element access | |
returns the length of the particular sub-match (public member function) |
|
returns the position of the first character of the particular sub-match (public member function) |
|
returns the sequence of characters for the particular sub-match (public member function) |
|
returns specified sub-match (public member function) |
|
returns sub-sequence between the beginning of the target sequence and the beginning of the full match (public member function) |
|
returns sub-sequence between the end of the full match and the end of the target sequence (public member function) |
|
Iterators | |
returns iterator to the beginning of the list of sub-matches (public member function) |
|
returns iterator to the end of the list of sub-matches (public member function) |
|
Format | |
formats match results for output (public member function) |
|
Modifiers | |
swaps the contents (public member function) |
Non-member functions
(removed in C++20)
|
lexicographically compares the values in the two match result (function template) |
(C++11)
|
specializes the std::swap algorithm (function template) |