Блин, пока ходил котов из-под окна кирпичами гонять вы тут уже порешали все. На всякий случай пощу свой вариант, который кажется что-то напоминает
var str = 'Я {самый|очень|плохой|доктор|кролик из статей про наследование и} сантехник, которому не составит труда {написать|сварганить| запостить} код для этого задания, в котором слова будут изменяться {быстро|мгновенно|рэндомно}';
str = str.replace(/{(.*?)}/gm, function(match, capture) {
var options = capture.split('|');
return options[Math.floor(Math.random()*options.length)];
});
alert(str);