Re[4]: Помогите реализовать алгоритм
От: Кодт Россия  
Дата: 23.09.04 10:48
Оценка:
Здравствуйте, momart, Вы писали:

M>Спасибо за помощь . Ваша реализация чудесно работает. Хотя, мне все же интересно (из чистого любопытства) как можно это сделать с помощью регулярных выражений (мне кажется это будет пара строчек кода).


Ну не пара...

1) эскейпить префикс маркера: /&/&/g
2) Получить с помощью регекспа массив всех слов: /\[(.*?)\]/g
3) для каждого слова $word из массива выполнить замену:
3.1) заменить первое вхождение на маркер /\[$word\]/▮/
3.2) заменить все (оставшиеся) на пусто /\[$word\]//g
3.3) заменить маркер на значение /\▮/[$word]/
4) разэскейпить префикс: /\&/&/g

На перле это будет ровно столько строк, сколько здесь.
Перекуём баги на фичи!
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.