Название: QRegExp не пойму как... Отправлено: Hellrider от Апрель 04, 2013, 16:38 Хочу вытащить из html страницы все что между тегами <a> делаю по примерам но что то не клеится, запутался вообще. Подскажите как реализовать правильно
Код: void Notice::slotUpdate(QNetworkReply* reply){ Название: Re: QRegExp не пойму как... Отправлено: _OLEGator_ от Апрель 04, 2013, 16:51 Вот так правильно: (.)(.) ;D
Конкретно, что не клеится то? UPD Пишут, что "/" - спецсимвол, посему, так будет правильно: "<a>(.+)<\\/a>" Название: Re: QRegExp не пойму как... Отправлено: Hellrider от Апрель 04, 2013, 16:54 qDebug ничего не выводит
Название: Re: QRegExp не пойму как... Отправлено: Hellrider от Апрель 04, 2013, 17:00 Вот так правильно: (.)(.) ;D Конкретно, что не клеится то? UPD Пишут, что "/" - спецсимвол, посему, так будет правильно: "<a>(.+)<\\/a>" Пробовал "<a>(.+)<\\/a>" и так "<a>(.+)<///a>" не работает. А вообще спецсимвол это обратная косая черта \ Название: Re: QRegExp не пойму как... Отправлено: _OLEGator_ от Апрель 04, 2013, 17:06 У меня такое выражение работает (Qt 4.8.2):
<a>(.+)</a> и такое тоже: <a>(.+)<\\/a> Не только обратная косая черта, точка, *, + и т.д. Название: Re: QRegExp не пойму как... Отправлено: Alex Custov от Апрель 04, 2013, 17:11 операцию присваивания в while возьми в скобки. Всё работает:
Код
Выводит Цитировать hallo hallo2 Название: Re: QRegExp не пойму как... Отправлено: Hellrider от Апрель 04, 2013, 17:24 операцию присваивания в while возьми в скобки. Всё работает: Код
Выводит Цитировать hallo hallo2 Заключил в кавычки Сделал обычную строку strl = "<a> bla bla bla</a> все заработало. Но почему html страницу не хочет обрабатывать? Название: Re: QRegExp не пойму как... Отправлено: Alex Custov от Апрель 04, 2013, 17:30 Код получше.
Код
Ты проверял, что данные, которые ты парсишь, содержат именно ТАКИЕ ссылки? Приведи пример из html документа. Кириллица может и влияет. Up. забыл setMinimal(). Название: Re: QRegExp не пойму как... Отправлено: Hellrider от Апрель 04, 2013, 17:36 <a href="http:://google.com" id="123">текст</a>
дауж меня заклинило блин ;D а тег то содержит параметры... а за что отвечает setMinimal()? читал в доке, но не понял Название: Re: QRegExp не пойму как... Отправлено: Alex Custov от Апрель 04, 2013, 17:38 в QtWebkit есть парсер документа, можешь его использовать.
Название: Re: QRegExp не пойму как... Отправлено: Hellrider от Апрель 04, 2013, 17:48 в QtWebkit есть парсер документа, можешь его использовать. Перелопатил кучу всего, пишут если в html есть ошибки парсер не взлетает. Пробовал libxml2 там парсер для html есть, но там темный лес для меня. Еще нашел тут http://blog.sjinks.pro/c-cpp/qt/942-html-parser-qt/ сделал по инструкции все компилит, записываю DOM в файла, а там никакого DOM дерева нету, записывается html страница какая и была. |