Здравствуйте, agg, Вы писали:
agg>Привет всем, писал распознавалку номеров, сделал, спеки динамично поменяли и теперь мне нужно найти не просто нужный нужный номер, а нужный номер +20 символов перед ним, искал номера вот так:
можно использовать группировку, например, для регэкспа:
^\w{20}(\d+).*?$
agg>agg>...
agg>typedef std::wstring str;
agg>typedef std::list<str> LPN;
agg>typedef LPN::iterator ILPN;
agg>...
agg>static LPN lpn;
agg>...
agg>static bool regex_callback(const boost::match_results<str::const_iterator>& what)
agg>{
agg> lpn.push_back(what.str(1).str());
agg> return true;
agg>}
agg>
agg>В этом коде зовется regex_callback столько раз сколько найдено номеров и соответственно я их перекладываю в список, а как искать позиции в тексте с которых начинаются номера, чтобы мне потом можно было отступить 20 символов от того места где начинается номер?
учтите, что в группе с номером 0 лежит вся строка, а начиная с 1, подгруппы.