Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 11.01.2012, 19:04
Интересующийся
Отправить личное сообщение для Zlyden Посмотреть профиль Найти все сообщения от Zlyden
 
Регистрация: 27.10.2010
Сообщений: 19

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". Почему так?
Ответить с цитированием
  #2 (permalink)  
Старый 11.01.2012, 19:44
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,584

lolwut?
a="xy";
a=a.replace(/(x)(y)/g,"$2$1");
alert(a)
__________________
29375, 35
Ответить с цитированием
  #3 (permalink)  
Старый 11.01.2012, 23:38
Интересующийся
Отправить личное сообщение для Zlyden Посмотреть профиль Найти все сообщения от Zlyden
 
Регистрация: 27.10.2010
Сообщений: 19

Aetae,
Да, действительно, в девятом ИЕ ответ нормальный. А вот в восьмом нет...

Последний раз редактировалось Zlyden, 11.01.2012 в 23:41.
Ответить с цитированием
  #4 (permalink)  
Старый 12.01.2012, 01:25
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,584

Работает всё во всех ие. Базовый функционал. Что-то вы явно желаете не так.
__________________
29375, 35
Ответить с цитированием
  #5 (permalink)  
Старый 14.01.2012, 11:18
Аватар для nerv_
junior
Отправить личное сообщение для nerv_ Посмотреть профиль Найти все сообщения от nerv_
 
Регистрация: 29.11.2011
Сообщений: 3,924

Сообщение от Zlyden
в девятом ИЕ ответ нормальный. А вот в восьмом нет...
Ради любопытства проверил пример Aetae в восьмом IE - все нормально (а иначе быть и не могло).
__________________
Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите с replace! faforty Общие вопросы Javascript 2 28.08.2011 13:10
RegExp глюк пробелы портят всё scuter Общие вопросы Javascript 4 01.08.2011 23:19
replace, отправить данные в функцию ВэйДлин Общие вопросы Javascript 2 21.07.2011 00:06
Глюк в Опере: expected identifier, got keyword 'new' Vulkan Opera, Safari и др. 4 19.12.2010 11:38
Странное поведение replace cooli0 Общие вопросы Javascript 4 25.01.2010 17:16