std::match_results<BidirIt,Alloc>::operator[] - cppreference.com

From cppreference.com

const_referenceoperator[](size_typen)const;(since C++11)If n>0 and n<size(), returns a reference to the

std::sub_match

representing the part of the target sequence that was matched by the nth captured

marked subexpression

).

If n==0, returns a reference to the

std::sub_match

representing the part of the target sequence matched by the entire matched regular expression.

if n>=size(), returns a reference to a

std::sub_match

representing an unmatched sub-expression (an empty subrange of the target sequence).

ready()

must be true. Otherwise, the behavior is undefined.

Parameters

n - integral number specifying which match to return Return value

Reference to the

std::sub_match

representing the specified matched subrange within the target sequence.

Example

Run this code

#include<iostream>#include<regex>#include<string>intmain(){std::stringtarget("baaaby");std::smatchsm;std::regexre1("a(a)*b");std::regex_search(target,sm,re1);std::cout<<"entire match: "<<sm[0]<<'\n'<<"submatch #1: "<<sm[1]<<'\n';std::regexre2("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]