Re: Обратное макросам

From
Reader ()
To
Vova Kravets
Date
2002-07-07T17:04:12Z
Area
RU.ALGORITHMS
From: "Reader" <serge@zolshar.ru>

Hi!
"Vova Kravets" <Vova.Kravets@p16.f44.n467.z2.fidonet.org> wrote in message
news:1026012675@p16.f44.n467.z2.fidonet.ftn...
>     // Hello Reader!                              date: 07/07/2002 time:
06:09
>
.skipped...]
>  R> Нихрена непонятно.
> ;(
>  R> Тебе пропарсить надо или отформатировать?
>     Не понял, что имеется ввиду подсловом "отформатировать"? ;(

Обратная задача. То что ты (я уже догадался) называешь макросами.

>     А вообще пропарсить, наверное!  ;)
> Упрощю задачу:
>   Есть исходная строка вида:
> -+- 21/03/2002 21:00:00 Успешный выход.
> И есть шаблон:
> -+- @d/@m/@y @hour:@min:@sec @text
>     А дальше наверно сам знаешь, что мне надо? Мне надо изъять из исходной
> строки те (под)строки, которые есть вместо макросов. Но меня больше
интерисует
> подход к этой задаче, когда у нас строка с макросами задана не явно - с
> регэкспами. Или когда два макроса подряд идут! Как мне тогда различать где
тот,
> а где другой и т.п.

Любая регексповый движок по определению это умеет. Просто используй группы
(capturing groups) в своем выражении.
Например
[\-]+ (\d\d)[\/\.\-](\d\d)[\/\.](\d\d\d\d) (\d\d)[\:\.](\d\d)[\:\.](\d\d)
(.*)

Тогда
$1 - день
$2 - месяц
...
$7 - текст

(N.B.: пайпы внутри [...] совершенно излишни)

Regards


--- ifmail v.2.15dev5
 * Origin: Demos online service (2:5020/400)