Description

Class template match_results<> denotes a collection of sequences representing the result of a regular expression match. Storage for the collection is allocated and freed as necessary by the member functions of class match_results<>.

The class template match_results<> conforms to the requirements of a Sequence, as specified in (lib.sequence.reqmts), except that only operations defined for const-qualified Sequences are supported.

match_results public member functions

Returns one plus the number of marked sub-expressions in the regular expression that was matched if *this represents the result of a successful match. Otherwise returns 0.

boolempty()const;

Returns size() == 0.

difference_typelength(size_type sub =0)const;

Returns (*this)[sub].length().

difference_typeposition(size_type sub =0)const;

If !(*this)[sub].matched then returns -1. Otherwise returns std::distance(base, (*this)[sub].first), where base is the start iterator of the sequence that was searched. [Note - unless this is part of a repeated search with a regex_iterator then base is the same as prefix().first - end note]

string_typestr(size_type sub =0)const;

Returns (*this)[sub].str().

template<typename Sub>const_referenceoperator[](Subconst& sub)const;

Returns a reference to the sub_match object representing the sequence that matched marked sub-expression sub. If sub == 0 then returns a reference to a sub_match object representing the sequence that matched the whole regular expression. If sub >= size() then returns a sub_match object representing an unmatched sub-expression.

const_referenceprefix()const;

Returns a reference to the sub_match object representing the character sequence from the start of the string being matched/searched, to the start of the match found.

Requires:

(*this)[0].matched is true

const_referencesuffix()const;

Returns a reference to the sub_match object representing the character sequence from the end of the match found to the end of the string being matched/searched.

Requires:

(*this)[0].matched is true

const_iteratorbegin()const;

Returns a starting iterator that enumerates over all the marked sub-expression matches stored in *this.

const_iteratorend()const;

Returns a terminating iterator that enumerates over all the marked sub-expression matches stored in *this.

If Format models ForwardRange or is a null-terminated string, this function copies the character sequence in fmt to OutputIteratorout. For each format specifier or escape sequence in fmt, replace that sequence with either the character(s) it represents, or the sequence within *this to which it refers. The bitmasks specified in flags determines what format specifiers or escape sequences are recognized. By default, this is the format used by ECMA-262, ECMAScript Language Specification, Chapter 15 part 5.4.11 String.prototype.replace.

If Format models ForwardRange or is a null-terminated string, this function returns a copy of the character sequence fmt. For each format specifier or escape sequence in fmt, replace that sequence with either the character(s) it represents, or the sequence within *this to which it refers. The bitmasks specified in flags determines what format specifiers or escape sequences are recognized. By default this is the format used by ECMA-262, ECMAScript Language Specification, Chapter 15 part 5.4.11 String.prototype.replace.

Otherwise, if Format models Callable<match_results<BidiIter>, OutputIterator, regex_constants::match_flag_type>, this function returns a string_type object x populated by calling fmt(*this, out, flags), where out is a back_insert_iterator into x.

Otherwise, if Format models Callable<match_results<BidiIter>, OutputIterator>, this function returns a string_type object x populated by calling fmt(*this, out), where out is a back_insert_iterator into x.