Не так давно на работе возникла задача реализовать разбор форматной строки аналогично String.Format в C#. Использовать сам этот метод было нельзя по двум причинам: в итоге разработка должна была вестись на JavaScript (хватило бы и одной этой =) ), вместо позиций, обозначенных последовательными цифрами, нужно было использовать переменные (буквенно-циферный набор начинающийся с %). Поэтому пришлось изобретать велосипед и вспоминать теорию конечных автоматов.