There is no output with the following example, when "Note that I'm 21 years old, not" for m[1], and "35" for m[2], is expected. (according to the example):

boost::regex reg("(.*)(\\d{2})");
boost::cmatch cm;
const char* text = "Note that I'm 21 years old, not 35.";

if (boost::regex_search(text, cm, reg))
{
    if (cm[1].matched)
    { std::cout << "(.*) matched: " << m[1].str() << std::endl; }
   
    if (cm[2].matched)
    { std::cout << "Found the age: " << m[2].str() << std::endl; }
}

Output:
(.*) matched:
Found the age:

Expecting:
(.*) matched: Note that I'm 21 years old, not
Found the age: 35

Any help would be much appreciated.  I am new to regular expression and boost::regex.

Thanks,
Graham