Модераторы: Poseidon, Snowy, bems, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Опять регулярные выражения, не выходит и всё тут... 
V
    Опции темы
Alkash
Дата 8.7.2008, 08:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


коллекционер жизни
**


Профиль
Группа: Участник
Сообщений: 516
Регистрация: 5.7.2004
Где: /

Репутация: нет
Всего: нет



Доброго времени суток господа...имеется текстовый файл следующего формата.
 
Код

7,12,06-Нач.м.-презентация+нам не подходит+не считаю необдим.+добить. 19,12,06-ЗНХО-презентация+знаком+с попросил д инф,ЗТО-презентация+знаком +очень бы хотел,ЗЭХ-презентация+заинтересовался+попросил д. инф.+выслала. 20,12,06-ЗНХО-ознакомился+хочет очень+передал инф ЗГВХ(нач.м.),ЗЭО-ознакомился+с удовольствием бы на нем работал,ЗПр.О-презентация+знаком видел в москве+ссылайтесь на меня,ЗГВХ(нач.м.)-хирург+отличное об.,но к ГВ не пойду для нас ето второстепенная задача но если ГВ спросит конечно поддержу,15,01,07 ЗГВХ(к) поодтвердил свое согласие если спросит ГВ. 26,03,07 ЗГВХ - Заинтересован, хотя по его мнению оборудование не является первоочередным, но на вопрос ГВ ответит положительно. 24,07,07 Хи-г -ЗГВХ - в отпуске до 13,08,07. 08,11,07-дозвонился до ЗПр.О,он попросил информацию,отправил по факсу

пытаюсь с ним работать при помощи регулярных выражений. Но вот в чём проблема - в memo гружу текстовый файл, прописываю регулярное выражение, и пытаюсь разобрать строку на 2 - и загрузить их в 2 других мемо...Однако ничего не происходит-(
Код

procedure TForm1.Button1Click(Sender: TObject);
const
 data = '(\d,\d,\d)';
 talk = '(.*)';
var
 r,r1: TRegExpr;
begin
 r:= TRegExpr.Create;
 r1:= TRegExpr.Create;
  try
   r.Expression:= data;
   r1.Expression:= talk;
    if r.Exec (TestMemo.Text) then
     if r1.Exec(testmemo.Text) then
       REPEAT
       Memo1.Text:= r.Match[0]+ '0';
       Memo2.Text:= r1.Match[0]+ '0';
      UNTIL not r.ExecNext;
   finally
    r.Free;
    r1.Free;
   end;
  end;

Может я что не так делаю? Хотя скорее всего - так и есть...если кому не сложно - покажите рабочий пример smile 


--------------------
Подпись >> /dev/null
PM MAIL ICQ MSN   Вверх
kemiisto
Дата 8.7.2008, 15:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Дикий Кот. =^.^=
****
Награды: 1



Профиль
Группа: Участник Клуба
Сообщений: 3292
Регистрация: 29.7.2007

Репутация: 16
Всего: 160



Немного подправил регулярное выражение + использовал группировку. Будет время прочтите.
Код

var
  RegExp: TRegExpr;
begin
  RegExp := TRegExpr.Create;
  RegExp.Expression := '(\d{1,2},\d{1,2},\d{1,2})(\D*)';
  if RegExp.Exec(TestMemo.Text) then
  repeat
    Memo1.Lines.Add(RegExp.Match[1]);
    Memo2.Lines.Add(RegExp.Match[2]);
  until not RegExp.ExecNext;
end;

Почти работает за исключением случая с отпуском. Там дата стоит в конце. Но и тут можно что-нибудь придумать.


--------------------
PM MAIL WWW GTalk Jabber   Вверх
Alkash
Дата 8.7.2008, 16:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


коллекционер жизни
**


Профиль
Группа: Участник
Сообщений: 516
Регистрация: 5.7.2004
Где: /

Репутация: нет
Всего: нет



Спасибо большое


--------------------
Подпись >> /dev/null
PM MAIL ICQ MSN   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0441 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.