Показать сообщение отдельно
  #9  
Старый 13.09.2013, 18:37
Аватар для Uniq!
Uniq! Uniq! вне форума
Местный
 
Регистрация: 29.09.2010
Сообщения: 539
Версия Delphi: Delphi XE3
Репутация: 374
По умолчанию

Идея простая:
1) у вас "однотипные строки"
2) собираем на языке "выражений" одну из этих строк
(я в этом слабоват, но попробую):

Код:
// добавляем
uses RegularExpressions;

procedure TForm1.Button1Click(Sender: TObject);
var
  RegExp: TRegEx; // класс регулярок
  Match: TMatch; // массив совпадений
  pattern: string;
begin
  // здесь шаблон, под который делфа будет
  // пытаться подставлять ваши строки
  // символика \d	[0-9]	Цифровой символ.
  // {n} - n символов (типа, те что стоят перед самими скобками).
  // в круглые скобки заключено то, что будет возвращаться в масси Matches - совпадения
  // (то, что вам нужно)
  // "data": "13.09.13" ,  "Следующее значение": "значение",
  pattern := '.*? (\d{2}.\d{2}.\d{2}), "\d(*.?)": "\d(.*?)"';
  RegExp := TRegEx.Create(pattern, [roIgnoreCase, roMultiline]);
  Match := RegExp.Match('сюда свой текс (мультистрочный)');
  // дальше не помню как разбирать Match массив
  // в инете можно глунять
  while Match.Success do
  begin
    WriteLn('Match : [' + Match.Value + ']');
  end;
  RegExp.Free;
end;

Код:
Символ	Эквивалент	Соответствие
\d	[0-9]	Цифровой символ.
\D	[^0-9]	Нецифровой символ.
\s	[ \f\n\r\t\v]	Пробельный символ.
\S	[^ \f\n\r\t\v]	Непробельный символ.
\w	[[:word:]]	Буквенный или цифровой символ или знак подчёркивания.
\W	[^[:word:]]	Любой символ, кроме буквенного или цифрового символа или знака подчёркивания.
Код:
Представление	Число повторений	Пример	Соответствие
{n}	Ровно n раз	colou{3}r	colouuur
{m,n}	От m до n включительно	colou{2,4}r	colouur, colouuur, colouuuur
{m,}	Не менее m	colou{2,}r	colouur, colouuur, colouuuur и т. д.
{,n}	Не более n	colou{,3}r	color, colour, colouur, colouuur
Ответить с цитированием