Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Для новичков > Регулярные выражения


Автор: wlad110 1.7.2009, 09:16
Подскажите как с помощью boost:regex разбить html файл на ссылки, такого вида view.php?ad=12345.
Таких ссылок много, вобщем нужно забить их например в vector.
Например одну ссылку добавляю так smile
Код

vector<string>data;
regex reg("view\\.php\\?ad=\\d*");
smatch what; 
regex_search(str,what,reg);
data.push_back(what[0]);

Если regex ни к месту, то подскажите чем еще можно это сделать. 

Автор: jonie 1.7.2009, 09:23
В http://ru.wikipedia.org/wiki/Boost_(библиотека)#.D0.98.D1.81.D0.BF.D0.BE.D0.BB.D1.8C.D0.B7.D0.BE.D0.B2.D0.B0.D0.BD.D0.B8.D0.B5_.D1.80.D0.B5.D0.B3.D1.83.D0.BB.D1.8F.D1.80.D0.BD.D1.8B.D1.85_.D0.B2.D1.8B.D1.80.D0.B0.D0.B6.D0.B5.D0.BD.D0.B8.D0.B9 есть пример.

Автор: zim22 1.7.2009, 09:24
Цитата(wlad110 @  1.7.2009,  09:16 Найти цитируемый пост)
, то подскажите чем еще можно это сделать. 

std::string
функция find

Автор: wlad110 1.7.2009, 09:41
Цитата(zim22 @ 1.7.2009,  13:24)
Цитата(wlad110 @  1.7.2009,  09:16 Найти цитируемый пост)
, то подскажите чем еще можно это сделать. 

std::string
функция find

А как найти значения которые я незнаю? просто извстно что они идут после определенной строки и являются цифрами.

Автор: zim22 1.7.2009, 10:00
Цитата(wlad110 @  1.7.2009,  09:41 Найти цитируемый пост)
А как найти значения которые я незнаю?

Цитата(wlad110 @  1.7.2009,  09:41 Найти цитируемый пост)
 они идут после определенной строки и являются цифрами

ищите определённую строку. потом устанавливайте "курсор" на конец строки и двигайтесь вправо, пока цифры (функция isdigit)

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)