найти и заменить в javascript глобально

function function1() {
    var str = "prob[0].Key = '101';prob[10].Key = '101';prob[newIloop].Key = '101';prob[0].Key = '101'";
    str = str.replace(/prob\[[^\]]*?\]/g, 'prob[__]');
    alert(str);
}

Я хочу, чтобы результат

prob[ind(0)].Key = '101'; etc....
4
добавлено отредактировано
Просмотры: 1
de
Что вы пробовали? Является prob [0] = 11; prob [1] = 12; prob [5] = 54; строка?
добавлено автор Blender, источник
Итак ... это исходный код JavaScript, и вы хотите найти и заменить регулярное выражение для вашего редактора , чтобы изменить его? В противном случае, если вы ожидаете регулярного выражения в JavaScript, я не вижу, как он должен применяться к этому примеру.
добавлено автор Felix Kling, источник
Итак, это строка ... Неверно размещать содержимое строки, которая также является действительным исходным кодом используемого вами языка.
добавлено автор Felix Kling, источник
что такое ind() ?
добавлено автор Cerbrus, источник
в лучшем случае это вне темы
добавлено автор rene, источник
замените [0] на [ind (0)], если [0] имеет префикс «prob». Я имею в виду любую проблему [x], т. Е. Prob [0], prob [i], затем она заменяется на prob [ind (x)].
добавлено автор user1812171, источник
str = str.replace (/ prob [[^]] *?]/g, 'prob [__]'); Я пробовал это. его работы прекрасны, но я не могу получить значение [x] для замены.
добавлено автор user1812171, источник

1 ответы

Вы можете попробовать что-то вроде этого:

'...'.replace(/prob\[(\d+)\]/g, 'prob[ind($1)]');

$1 is replaced with the text captured with your first capturing group.

1
добавлено
Отправьте это как новый вопрос. Я не могу прочитать код из комментария.
добавлено автор Blender, источник
@ user1812171: Опубликуйте новый вопрос.
добавлено автор Blender, источник
У меня есть еще один вопрос. если вы не возражаете. var key = "name"; var str = "prob.name.name [0] .Key = '101'; prob.name [10] .Key = '101'; prob.name [newIloop] .Key = '101'; prob.name $$ $ [0] .Key = '101' ";//str = str.replace (/prob.name [[^]] *?]/g, 'prob.name [__]'); str = str.replace (/ prob. + << ключ >> [(\ d +)]/g, 'prob.name [ind ($ 1)]'); оповещения (ул); Здесь я не могу добавить ключевую переменную в строку замены.
добавлено автор user1812171, источник
`var key =" name "; var str = "prob.name.name [0] .Key = '101'; prob.name [10] .Key = '101'; prob.name [newIloop] .Key = '101'; prob.name $$ $ [0] .Key = '101' ";//str = str.replace (/prob.name [[^]] *?]/g, 'prob.name [__]'); str = str.replace (/ prob. + << ключ >> [(\ d +)]/g, 'prob.name [ind ($ 1)]'); оповещения (ул), `
добавлено автор user1812171, источник
вы можете сейчас?
добавлено автор user1812171, источник
добавлено автор user1812171, источник