Boost logo

Boost Users :

Subject: [Boost-users] Trouble with regex
From: Nathan Huesken (boost_at_[hidden])
Date: 2009-03-28 09:39:59


Hi,

I have some trouble with regex.
I have a string in this format:

=?<encoding>?<Q or B>?<name>?=

I want to extract the encoding, Q or B and name!
I read the regex documentation and
I try this:

string mime_decode_field(string field)
{
        boost::regex e("^=?([\x20-\x7E]*)?(Q|B)?([\x20-\x7E]*)?=$",boost::regex::perl|boost::regex::icase);
        boost::smatch what;
        if(boost::regex_match(field,what,e))
        {
    //Now I expect <encoding> in what[1], <Q or B> in what[2] and <name> in what[3]
        }
}

But it is not as expected. what[2] and what[3] are empty, what[1]
contains the whole string.

What am I doing wrong?

Thanks!
nathan


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