Re: Вопрос знатокам boost::regex
От: XuMuK Россия  
Дата: 17.11.09 11:06
Оценка:
Здравствуйте, 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, подгруппы.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.