Namespaces
Variants
Views
Actions

std::match_results::operator[]

From cppreference.com
< cpp‎ | regex‎ | match results
Revision as of 08:47, 8 December 2013 by Cubbi (Talk | contribs)

const_reference operator[]( size_type n ) const;
(since C++11)

Returns an indicated sub-match.

If n == 0, entire matched expression is returned.

If n > 0 && n < size(), nth sub-match is returned.

if n >= size(), a sub-match representing the unmatched match is returned.

Contents

Parameters

n - integral number specifying which match to return

Return value

Returns a sub-match representing the specified match or sub match.

Example

#include <iostream>
#include <regex>
#include <string>
 
int main()
{
    std::string target("baaaby");
    std::smatch sm;
 
    std::regex re1("a(a)*b");
    std::regex_search(target, sm, re1);
    std::cout << "entire match: " << sm[0] << '\n'
              << "submatch #1: " << sm[1] << '\n';
 
    std::regex re2("a(a*)b");
    std::regex_search(target, sm, re2);
    std::cout << "entire match: " << sm[0] << '\n'
              << "submatch #1: " << sm[1] << '\n';
 
}

Output:

entire match: aaab
submatch #1: a
entire match: aaab
submatch #1: aa

See also

returns the sequence of characters for the particular sub-match
(public member function) [edit]