> What am I doing wrong?
>
> Here's my short matching function:
>
> bool MatchRegExp(const std::string& matchThis, const std::string&
> againstThis)
> {
> try
> {
> const boost::regex e(againstThis);//,
> boost::regex_constants::icase);
> return boost::regex_match(matchThis, e,
> boost::regex_constants::extended);
> }
> catch(boost::bad_expression be)
> {
> return false;
> }
>
> }
You're passing the wrong constants in all the wrong places, it should have
been:
const boost::regex e(againstThis, boost::regex::extended);
return boost::regex_match(matchThis, e, boost::match_default);
You can omit the match_default flag (since it's the default anyway), and if
you wanted case insensitive matching it would have been:
const boost::regex e(againstThis, boost::regex::extended |
boost::regex::icase);
Oh, and don't forget to check the difference between regex_match and
regex_search (the match version requires all of the text to match).
John.
_______________________________________________
Boost-users mailing list
Boost-users@lists.boost.org
http://lists.boost.org/mailman/listinfo.cgi/boost-users