Показать сообщение отдельно
  #1  
Старый 28.06.2010, 12:48
moloto4ek moloto4ek вне форума
Прохожий
 
Регистрация: 28.06.2010
Сообщения: 1
Репутация: 10
По умолчанию некорректно работает tregexpr

Здравствуйте.
компонент поставил сегодня, почитал про регулярки получилось, код на С++ buidler, но проблема в регулярке.

Код:
 TRegExpr *r2 = new TRegExpr;
    r2->Expression = "[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}:[0-9]{2,5}";

      if(r2->Exec(table))
      {
       while (r2->ExecNext())
       {
         Form1->Memo1->Lines->Add(r2->Match[0]);
       }
      }
     r2->Free();
работает но некорректно

Код:
06/2010 21:41
190.254.20.42:8080
06/2010 21:39
89.189.84.234:80
06/2010 21:39

Почему пропускает другие данные непонятно.

Нашел более продвинутую регулярку для ip

Код:
25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?):[0-9]{2,5}
Ответить с цитированием