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)