replace глюк
Обнаружил странную особенность при замене. К примеру, такое выражение:
a="xy"; a=a.replace(/(x)(y)/g,"$2$1"); В итоге a="y1". Почему-то когда подстановка идёт вплотную друг к другу ($2$1), то первое вхождение заменяется вместе со следующим $, т.е. вместо того, чтобы подставлять y вместо $2, браузер подставляет y вместо $2$. При этом, если сделать замену таким образом: a=a.replace(/(x)(y)/g,"$2"+"$1"); То всё работает как надо, на выходе "yx". Почему так? |
lolwut?
a="xy"; a=a.replace(/(x)(y)/g,"$2$1"); alert(a) |
Aetae,
Да, действительно, в девятом ИЕ ответ нормальный. А вот в восьмом нет... |
Работает всё во всех ие. Базовый функционал. Что-то вы явно желаете не так.
|
Цитата:
|
Часовой пояс GMT +3, время: 19:24. |