Часть строки, нечувствительная к регистру в JavaScript, опция Regex (? I) не работает

Оки, прежде чем вы все администраторы начнете отмечать этот вопрос дубликат ссылаясь на этот вопрос такКак сделать регулярное выражение без учета регистра? Я хочу уточнить, что другой упомянутый вопрос не отвечает моей проблеме.

Я использую Nodejs для создания приложения, в котором мне нужно обрабатывать определенные строки. Я использовал объект JS "RegExp" для этой цели. Я хочу, чтобы только часть моей строки в регулярном выражении была без учета регистра, вот мой код

var key = '(?i)c(?-i)ustomParam';
var find = '\{(\\b' + key +'\\b:?.*?)\}';
var regex = new RegExp(find,"g");

Но это ломается со следующей ошибкой

SyntaxError: Invalid regular expression: /{(\b(?i)c(?-i)ustomParam\b:?.*?)}/

Я получу ключ от какого-то внешнего источника, такого как redis, и строку для сопоставления из другого внешнего источника, я хочу, чтобы первый алфавит был нечувствительным к регистру, а остальные алфавиты чувствительными к регистру.

Когда я получу ключ из внешнего источника, я добавлю (? I) перед первым алфавитом и (? -I) после первого алфавита.

Я даже попробовал это только для начала, но это также не сработало

var key ='customParam';
var find = '(?i)\{(\\b' + key +'\\b:?.*?)\}(?-i)';
var regex = new RegExp(find,"g");

Я знаю, что могу использовать флаги «i» вместо вышеупомянутых, но это не мой вариант использования. Я сделал это только для проверки.

Ответы на вопрос(1)

Ваш ответ на вопрос