Обратное макросам
- From
- Vova Kravets (2:467/44.16)
- To
- All
- Date
- 2002-07-05T18:47:24Z
- Area
- RU.ALGORITHMS
// Hello All! date: 05/07/2002 time: 18:14
Я еще молодой, так что, если будете бить/пинать, то плз не ногами, и не в лицо ;))))
Никто не подскажет как мне осуществить сабж? А именно:
У меня есть исходная строка:
---- 10/12/2001 21:00:00 Успешный выход
И есть строка шаблон(с использование регэкспов):
[\-]+ @day[\/|\.|-]@month[\/|\.]@year @hour[\:|\.]@min[\:|\.]@sec @text
И вот мне надо из исходной строки в "макросы" вставить:
@day=10; @month=12; @year=2001; т.д.
Мне нужен алгоритм-базис или сам алгоритм с помощью, которого я могу это осуществить, а также подойдет реализация подзадачи - без использования регэкспов. Или с регэкспами сложнее?
P.S: Тут вот есть одна идейка для подзадачи:
Все, что находится до 1-го "макроса" в строке шаблона, я копирую(в substr1) и ищю в исходной строке, и анологично делаю для подстроки(substr2) находящейся между 1-ым и 2-ым "макросом". Размер и позиции подстрок мы знаем и нам остается только скопировать с позиции [pos1+Len(substr1)] [pos2-pos1-Len(substr1)] символов. Потом строку-шаблон и исходную строку мы обрезаем с позиции [pos2+Len(substr2)], таким образом, что все символы до этой позиции удаляются.
Правильный ли мой "дурацкий" алгоритм "в лоб"? И вообще с какой стороны мне это все дело начинать копать? В правильном ли я направлениии начал копать? Не выкопаю ли я себе таким образом яму для гроба? ;))))
// Ну что, All, .... Удачи!
>>> To define recursion, we must first define recursion
--- ·∙■█ Slive █■∙· 2:467/44.16 <GoldED+/EMX-1.1.5>
* Origin: Не хватай двух зайцев за ..ца! (2:467/44.16)