ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2

ANTICHAT — форум по информационной безопасности, OSINT и технологиям

ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию. Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club, и теперь снова доступен на новом адресе — forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
Вернуться   Форум АНТИЧАТ > Программирование > С/С++, C#, Delphi, .NET, Asm
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

Регулярные выражения (Borland C++ Builder 6)
  #1  
Старый 25.10.2009, 19:34
mailbrush
Познавший АНТИЧАТ
Регистрация: 24.06.2008
Сообщений: 1,996
Провел на форуме:
6075534

Репутация: 2731


Отправить сообщение для mailbrush с помощью ICQ
По умолчанию Регулярные выражения (Borland C++ Builder 6)

Сабж... Какой посоветуете компоннент/класс для работы с регулярными выражениями в С++? PCRE криво работает, что доказывает код:
Код:
void __fastcall TForm1::Button1Click(TObject *Sender)
{
pcre *re;
int options = 0;
const char *error;
int erroffset;
re  =  pcre_compile ((char *) Edit2->Text.c_str(), options, &error, &erroffset, NULL);
if(re)
{
int count = 0;
int ovector[30];
count = pcre_exec(re, NULL, (char*)Edit1->Text.c_str(), 4, 0, ovector, 30);
Memo1->Lines->Add(ovector[0]);
Memo1->Lines->Add(ovector[1]);
}
}
Edit1 - исходная строка.
Edit2 - выражение.
В Memo1 добавляется начальный и конечный символ совпадения.

В исходную строку ввожу
Код:
Hello world!
В выражение:
Код:
Hello .*!
В Memo1 добавляется
Код:
-1
-1
Boost Regex не смог установить под винду.

А других библиотек не видел...
 
Ответить с цитированием

  #2  
Старый 26.10.2009, 14:19
razb
Постоянный
Регистрация: 24.03.2009
Сообщений: 670
Провел на форуме:
2868783

Репутация: 414


Отправить сообщение для razb с помощью ICQ
По умолчанию

Цитата:
count = pcre_exec(re, NULL, (char*)Edit1->Text.c_str(), 4, 0, ovector, 30);
Цитата:
Hello world!
По моему длинна Hello world! не 4 символа =/
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
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
Обнаружение Sql инъекций и Css атак k00p3r Чужие Статьи 0 12.06.2005 20:43



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ