WbICHA, replaceAll заменяет ОДНУ переменную, но во всей строке, а не только в первом вхождении, как replace.
Следовательно, c каждой заменяемой переменной надо вызвать replaceAll
Maxim Nepritimov, то, что в документации больше 2ух предложений.
Для выполнения глобального поиска и замены либо включите флаг g в регулярное выражение, либо, если первый параметр является строкой, включите флаг g в параметр flags.
WbICHA, тут да, опростоволосился.
В любом случае, логика та же. Нужно для каждого заменяемого значения, запустить replace|replaceAll.
Ну и replaceAll позволяет избавиться от regexp