ANTICHAT — форум по информационной безопасности, OSINT и технологиям
ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию.
Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club,
и теперь снова доступен на новом адресе —
forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
 |
C++ Builder и регулярные выражения |

16.04.2010, 16:14
|
|
Участник форума
Регистрация: 11.09.2008
Сообщений: 107
Провел на форуме: 262809
Репутация:
21
|
|
C++ Builder и регулярные выражения
Не знал куда запостить вроде тема и к С++ относиться и к Delphi так что создал тему.
Вообщем проблема такого характера подключил к своему проекту curl получаю страничку её нужно распарсить, ну думаю регулярки же должны быть, нахожу компонент TRegExpr он соответсвенно под Delphi подключаю к проекту запускаю компиляцию, компилятор создает заголовочный файл, подключаю его, вроде все окей работает, но ввожу регулярные выражения ничего не находит.
Кто сталкивался с проблемой может есть либо более лучшие решения чем TRegExpr или если несложно выложить свой рабочий простой пример.
|
|
|

16.04.2010, 16:16
|
|
Участник форума
Регистрация: 20.12.2008
Сообщений: 277
Провел на форуме: 828081
Репутация:
84
|
|
Код в студию. Этот класс замечательно работает
|
|
|

16.04.2010, 16:29
|
|
Участник форума
Регистрация: 11.09.2008
Сообщений: 107
Провел на форуме: 262809
Репутация:
21
|
|
Код:
HINSTANCE cl = NULL;
if( ( cl = LoadLibrary( "libcurl.dll" ) ) == NULL )
MessageBox(NULL, "I can't load libcurl","ERROR", 0);
TRegExpr *RegExpr = new TRegExpr;
String cookiefile;
CURL *curl;
String table;
String url;
curl = curl_easy_init();
url=Edit1->Text;
if(url=="")
url="mail.yahoo.com";
if(curl) {
curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION,Writer);
curl_easy_setopt(curl, CURLOPT_WRITEDATA,&table);
curl_easy_setopt(curl, CURLOPT_URL,url);
curl_easy_setopt(curl, CURLOPT_HEADER , 1 );
curl_easy_setopt(curl, CURLOPT_COOKIEFILE, cookiefile);
curl_easy_setopt(curl, CURLOPT_COOKIEJAR, cookiefile);
curl_easy_setopt(curl, CURLOPT_SSL_VERIFYHOST, 2);
curl_easy_setopt(curl, CURLOPT_SSL_VERIFYPEER, false);
curl_easy_setopt(curl, CURLOPT_FOLLOWLOCATION, 1);
curl_easy_perform(curl);
curl_easy_cleanup(curl);
RegExpr->Expression="#\<meta(.*?)\>#";
if(RegExpr->Exec(table))
Label1->Caption =RegExpr->ErrorMsg(RegExpr->LastError());
Label1->Caption =RegExpr->Match[0];
}
FreeLibrary(cl);
}
Может дело в регулярках т.к. писал регулярки как в php могу предположить что синтаксис здесь другой используеться.
|
|
|

16.04.2010, 16:35
|
|
Участник форума
Регистрация: 20.12.2008
Сообщений: 277
Провел на форуме: 828081
Репутация:
84
|
|
С++ не знаю. Но вот вроде Exec возвращает тру если выражение найдено,
у тебя получается если найдено то
Label1->Caption =RegExpr->ErrorMsg(RegExpr->LastError()) ?
Дай мне пример того что находится в table я составлю рабочую регулярку и проверим
|
|
|

16.04.2010, 16:36
|
|
Познавший АНТИЧАТ
Регистрация: 24.06.2008
Сообщений: 1,996
Провел на форуме: 6075534
Репутация:
2731
|
|
Решетки убери.
|
|
|

16.04.2010, 16:39
|
|
Участник форума
Регистрация: 11.09.2008
Сообщений: 107
Провел на форуме: 262809
Репутация:
21
|
|
Как всегда дъявол кроеться в мелочах =)
Спасиб mailbrush, спасиб GhostOnline.
Не могли бы скинуть полезные статьи по теме (может заволялись где нить в закромах), что в случае чего не плодить топиков.
|
|
|

16.04.2010, 16:45
|
|
Участник форума
Регистрация: 20.12.2008
Сообщений: 277
Провел на форуме: 828081
Репутация:
84
|
|
Документация на русском http://www.autocombats.info/files/regexp/index.html
|
|
|

16.04.2010, 17:57
|
|
Постоянный
Регистрация: 29.10.2008
Сообщений: 306
Провел на форуме: 1819761
Репутация:
180
|
|
Зачем регулярки? Методов Delete и SetLength класса AnsiString недостаточно?
|
|
|
|
 |
Похожие темы
|
| Тема |
Автор |
Раздел |
Ответов |
Последнее сообщение |
|
Регулярные выражения: выбрать из html кода все картинки за исключением первой
|
kof |
PHP, PERL, MySQL, JavaScript |
18 |
15.02.2010 00:09 |
|
Регулярные выражения (Borland C++ Builder 6)
|
mailbrush |
С/С++, C#, Delphi, .NET, Asm |
1 |
26.10.2009 14:19 |
|
Delphi - RegExp (Регулярные выражения)
|
mailbrush |
С/С++, C#, Delphi, .NET, Asm |
14 |
29.09.2009 17:31 |
|
Embarcadero: C++ Builder 2009
|
Kollinz |
С/С++, C#, Delphi, .NET, Asm |
1 |
11.08.2009 11:27 |
|
[Статья] Создание расширения для Windows Explorer при помощи C++ Builder
|
Dobby007 |
С/С++, C#, Delphi, .NET, Asm |
2 |
29.03.2009 08:58 |
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|