JavaScript Найти и заменить переменной в регулярном выражении

Возможный дубликат:
   шаблон регулярного выражения с переменной

function function1() {
    var key = "name";
    var sample = "param.name['key'] = name; param.name[i] = 1000; param.name1[i] = name1;";
    var result = result.replace(/param.<>\[(\d+)\]/g, 'parameter[prefix_$1]');
}

Ожидаемый результат: параметр ['prefix_key'] = name; параметр ['prefix_i'] = 1000; Я не могу добавить переменный ключ в функцию replace в регулярном выражении.
Пожалуйста, помогите, как построить регулярное выражение взамен

0
nl ja de

1 ответы

Вы можете сделать регулярное выражение из строки, создав объект RegExp :

var regex = new RegExp("param\\." + name + "\\[(\d+)\\]", "g")
var result = result.replace(regex, 'parameter[prefix_$1]');
1
добавлено
@ user1812171: Блендер пропустил некоторые экраны ... исправлено. Тем не менее, дубликат.
добавлено автор Felix Kling, источник
@ user1812171: Поскольку я не знаю, какой результат вы получите, я не могу вам помочь. Тем не менее, этот вопрос задавался несколько раз. Прочтите этот вопрос, убедитесь, что вы понимаете основы регулярных выражений и пытаетесь это сделать. Все, что вам нужно знать, есть, вам просто нужно собрать кусочки. edit: Проблема заключается в вашем исходном выражении. \ d + соответствует только цифрам, а не, например. <�Код> 'ключ' . Соответственно отрегулируйте свое выражение, и оно будет работать. Если вы не очень хорошо знакомы с регулярным выражением, я рекомендую прочитать regular-expressions.info .
добавлено автор Felix Kling, источник
~ function function1() {var key = "name"; var sample = "param.name ['key'] = name; param.name [i] = 1000; param.name1 [i] = name1;"; var regex = new RegExp ("param \." + name + "[(\ d +)]", "g") var result = sample.replace (regex, 'parameter [prefix_ $ 1]'); оповещение (результат);//Ожидаемый результат: параметр ['prefix_key'] = name; параметр ['prefix_i'] = 1000;//Я не могу добавить переменный ключ в функцию замены hte в регулярном выражении. } ~ У меня есть функция обновления с вашим кодом.
добавлено автор user1812171, источник
NOt получает правильный выход
добавлено автор user1812171, источник
JavaScript Jobs — чат
JavaScript Jobs — чат
8 336 участник(ов)

JavaScript Jobs — чат для поиска работы и людей Правила оформления: https://teletype.in/@telegram-ru/r1WQe5F1m См. также: @mobile_jobs, @devops_jobs, @nodejs_jobs, @react_js, @angular_ru, @js_ru

JavaScript.ru
JavaScript.ru
7 932 участник(ов)

Сообщество сайта JavaScript.ru в Slack.

pro.js
pro.js
4 675 участник(ов)

Про JavaScript и NodeJS Invite: https://t.me/joinchat/Be4rsT5Rsgq30DHutjxXgA Правила: http://telegra.ph/ru-chat-rules-06-19 Вакансии только с ЗП, не чаще раза в неделю.

JavaScript — русскоговорящее сообщество
JavaScript — русскоговорящее сообщество
3 269 участник(ов)

Рекомендуем сразу отключить уведомления Правила: https://rudevs.network/ByaMH6un7 См. также: @js_noobs_ru, @nodejs_ru, @typescript_ru, @react_js, @electron_ru Вакансии и поиск работы: @javascript_jobs

JavaScript Noobs — сообщество новичков
JavaScript Noobs — сообщество новичков
2 484 участник(ов)

Чат для новичков

javascript_ru
javascript_ru
915 участник(ов)

Сообщество любителей самого популярного языка программирования в мире. Чат основан в 2009 году. Логи: https://goo.gl/9EOeM7 Поддержка бота: @chat_linker (ссылка на репу внутри) Вам будут интересны @frontend_ru и @css_ru

jsChat
jsChat
603 участник(ов)

Чат посвященный программированию на языке javaScript Перед отправкой ссылки на Ваш контент посоветуйтесь с админом Все ссылки удаляются ботом автоматически

JavaScript for Zombies Chat
JavaScript for Zombies Chat
492 участник(ов)

Чат про JavaScript для настоящих zombie! Вход строго по приглашениям! Ссылка для строгих приглашений: https://t.me/joinchat/AAMBHz3Uyr0tuZ7VaB029g

All That JS
All That JS
417 участник(ов)

JS на русском