Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Общие вопросы > регулярное выражение. из html страницы проверить..


Автор: poss 31.10.2014, 06:19
есть html страница, в которой есть следующий текст:
Код

Введите код с картинки

собственно вопрос:
как проверить регулярным выражение что этот текст присутствует в html-странице?

числа я проверяю так в qt:
Код

QString str =  ui->webView->page()->currentFrame()->toHtml();
               QRegExp rx("(id\\d+)");


Добавлено @ 06:33
Так не работает:
Код

QRegExp rx("(\Добавить.в.друзья\)");

hmtl код там такой:
Код

56be65ce0bbe8f">Добавить в друзья</a></td></table></div>

Автор: tzirechnoy 31.10.2014, 16:44
А нафига вы бэкслэшэй напихали, да ещё и одиночных -- которых парзер си сожрёт, вмместе со следующим символом?

Добавлено через 4 минуты и 15 секунд
Ну и да, я не знаю, в какой кодировке у вас исходник (в винде скорее всего -- cp1251), на какую рассчитан QRegExp (очень можэт быть, что utf8. Впрочем, в в винде можэт и cp1251),  и какая получается из QHtml (скорее всего -- он не преобразовывает кодировку, так что с вероятностью более 50% там utf8, а менее 50% -- одна из koi8-r, cp1251, cp866, big5, и куча других вариантов).

Но кодировка того, на что рассчитывает QRegExp должна совпадать с тем, что ему передают и в качестве re и в качестве текста.

Автор: baldina 31.10.2014, 17:15
если кодировки совпадают, то
Код

if (str.contains ("Введите код с картинки"))
 ...

Автор: sQu1rr 31.10.2014, 22:14
Цитата

Some people, when confronted with a problem, think "I know, I’ll use regular expressions." Now they have two problems.

Jamie Zawinsk

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