Вопрос знатокам boost::regex
От: agg  
Дата: 17.11.09 09:02
Оценка:
Привет всем, писал распознавалку номеров, сделал, спеки динамично поменяли и теперь мне нужно найти не просто нужный нужный номер, а нужный номер +20 символов перед ним, искал номера вот так:

...
typedef std::wstring str;
typedef std::list<str> LPN;
typedef LPN::iterator ILPN;
...
static LPN lpn;
...
static bool regex_callback(const boost::match_results<str::const_iterator>& what)
{
    lpn.push_back(what[0]);
    return true;
}
...
BOOL GetNumbersFromText(str text, LPN &out_list)
    {
        try{
        lpn.clear();
        boost::wsregex_iterator m_end;
        boost::wsregex_iterator mu(text.begin(), text.end(), expu);
        std::for_each(mu, m_end, regex_callback);
        out_list=lpn;
        }
        catch(...)
        {
            return FALSE;
        }
        return TRUE;
    }


В этом коде зовется regex_callback столько раз сколько найдено номеров и соответственно я их перекладываю в список, а как искать позиции в тексте с которых начинаются номера, чтобы мне потом можно было отступить 20 символов от того места где начинается номер?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.