Причина .*
соответствует всем символам после {
в вашей строке.
Используйте /~{[^}]+}/
для сопоставления каждой строки в ~{}
, удалите их, используя .replace()
var newStr = str.replace(/~{[^}]+}/g, '');
var str = "~{RegExr1234124124.} was ~{created by gskinner.com}, and is ~{proudly hosted} by Media Temple.";
console.log(str.replace(/~{[^}]+}/g, '').trim());