Вы можете сопоставить среднюю часть, используя .*?
.
let modalMessage = "Hello, my name is /# Ann #/. I'm working for /# IStaff #/, could you please call me back";
let regex = /\/#(.*?)#\//g;
let replaced = modalMessage.replace(regex, "<input />");
console.log(replaced);
Также вам нужно экранировать /
в регулярном выражении с обратной косой чертой (\).
Допустимое выражение начинается и заканчивается /
:
/<regex>/<flags>
Итак, в вашем примере:
/ // <- Start of Regular expression
\/ // <- Match /
# // <- Match #
(.*?) // <- Match the middle part (non-greedy)
# // <- Match #
\/ // <- Match /
/g // <- End regex and set "global" flag
Пример с HTML:
let modalMessage = "Hello, my name is /# Ann #/. I'm working for /# IStaff #/, could you please call me back";
let regex = /\/#(.*?)#\//g;
let replaced = modalMessage.replace(regex, '<input type="text">');
document.write(replaced);