Boost logo

Boost Users :

From: Graham Reitz (graham.cpp_at_[hidden])
Date: 2007-04-15 16:41:57


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



Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net