Boost logo

Boost :

Subject: Re: [boost] Why my subexpression doesn't work in Regex
From: Steven Watanabe (watanabesj_at_[hidden])
Date: 2009-03-17 22:43:21


Qihong Wang wrote:
> I'm a new boost and regex user. I tried a c++ regex sample as follows
> regex pattern("banan\\(an\\)*a");
> string str = "bananana";
> if(regex_match(str, pattern))
> cout<<"---- pattern matched ----"<<endl;
> else
> cout<<"---- pattern unmatched ----"<<endl;
> To my surprise, the it printed out pattern unmatched. If I change str to
> "banan(an)a",
> the result is pattern matched. Feels like boost.Regex doesn't treat ( ) as
> subexpression.
> Any idea?

You're escaping the parentheses, so Boost.Regex, treats
them as literal "(" and ")" instead of special characters.
The regex will match strings like

In Christ,
Steven Watanabe

Boost list run by bdawes at, gregod at, cpdaniel at, john at