Используйте это регулярное выражение:
str.replace(/ (?=[\w\s]*}})/g, '_');
Это работает только, если ваш используете один из т hese [A-Za-z0-9_ ]
символов в виде текста между фигурными скобками.
/(?= # lookahead
[\w\s]* # possible characters between braces
}}) # until it finds }}
/g # replace all matches (global)
Там нет необходимости, потому просмотра назад {
не один из возможных символов.
Если вы хотите иметь более возможные символы в тексте между фигурными скобками e. г. ,
использовать это регулярное выражение:
str.replace(/ (?=[A-Za-z0-9_ ]*}})/g, '_');
Добавить ,
в [A-Za-z0-9_ ]
=>[A-Za-z0-9_ ,]
ужесточили формулировки. – Prune