Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 19.10.2013, 12:38   #1
FleXik
Форумчанин
 
Регистрация: 01.11.2012
Сообщений: 770
Вопрос Проблема с регуляркой RegExpr

Проблема с регуляркой RegExpr, раньше такого не было.

Скриншот ошибки:


в либе регулярки подчеркнута эта строка: Error (reeExecNextWithoutExec);

Код:
var
response:string;
i, j:integer;
RegExp:TRegExpr;
begin
RegExp:=TRegExpr.Create;
RegExp.Expression:='<a href="(.*?)"';
  for i:=0 to Form1.SpinEdit1.Value-1 do
    begin
      // GET запрос
      if RegExp.Exec(response) then
      begin
        for j:=0 to 50 do
          begin
            repeat
            Form1.Memo1.Lines.Add(RegExp.Match[1]);
            until not RegExp.ExecNext;
          end;
      end;
    end;
RegExp.Free;
end;
И еще есть такая строка:
Код:
"Searcher.bigphOver(this, 111111111)"
из нее надо парсить значение 111111111 но не могу правильно составить шаблон для RegExp.Expression
FleXik вне форума Ответить с цитированием
Старый 19.10.2013, 12:49   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

1) Пошаговку делал?
2) Думаю что \d{9} спарсит твои единицы
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 19.10.2013, 12:53   #3
FleXik
Форумчанин
 
Регистрация: 01.11.2012
Сообщений: 770
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
1) Пошаговку делал?
2) Думаю что \d{9} спарсит твои единицы
код выше как я делал, пробовал ставить RegExp.Free в другое место, пробовал вообще убирать его, по поводу единиц, на самом деле там всегда разное количество цифр и они всегда разные, но там только одни цифры (должно помочь) ранее всегда так делал (я про код) а тут на тебе..
FleXik вне форума Ответить с цитированием
Старый 23.10.2013, 05:08   #4
FleXik
Форумчанин
 
Регистрация: 01.11.2012
Сообщений: 770
По умолчанию

up, хотелось бы решить проблему
FleXik вне форума Ответить с цитированием
Старый 23.10.2013, 08:20   #5
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
код выше как я делал
Не вижу криминала в нем. Сложно сказать почему лажает.
Цитата:
по поводу единиц
\d{9} должно дать любое девятизначное число.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 23.10.2013, 09:04   #6
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Не вижу криминала в нем. Сложно сказать почему лажает.

\d{9} должно дать любое девятизначное число.
Виталий, судя по всему у него не всегда девятизначное число.
Цитата:
по поводу единиц, на самом деле там всегда разное количество цифр и они всегда разные
я бы так попробовал
Код:
\d+
Serge_Bliznykov вне форума Ответить с цитированием
Старый 23.10.2013, 11:29   #7
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
судя по всему у него не всегда девятизначное число.
Ну тады согласен.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 17.11.2013, 17:22   #8
Xaoc_I
Новичок
Джуниор
 
Регистрация: 07.08.2013
Сообщений: 1
По умолчанию

а зачем вам вот этот цикл ? "for j:=0 to 50 do" ?
Xaoc_I вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
StringReplace проблема с регуляркой :( FleXik Общие вопросы Delphi 5 14.09.2013 22:36
Работа с RegExpr в Delphi darkwellroad Общие вопросы Delphi 4 01.09.2013 18:55
проблема с регуляркой helldog PHP 7 24.02.2012 13:21
проблема с регуляркой designer999 Общие вопросы Delphi 1 10.12.2010 00:37