
13.09.2013, 18:37
|
 |
Местный
|
|
Регистрация: 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
|