Karekter hatası veriyor malisef fazla iyi değilim javascript regexte
normalde senin kodların yerine benim bir işlemimde { } bunların arasını alıyordu.
O da bu şekildeydi /\{[^\}]+\}/g
böyle bir şey buldum BBCode tarzı düşündüm
str = str.replace(/\[(\w+)[^\]]*](.*?)\[\/\1]/g, 'ne_ile değişsin');
buda diğer BBCODE regexleri
bu tarzda kendine göre birşey yapabilirsin diye düşünüyorum ? kesinlikle sonuç bu istediğin buna gerçekten inanıyorum

olmadı <---m---> yerlerine
Gibi şeyler kullanabilirsin.

İnşallah çözmüşsündür. İyi çalışmalar dilerim
yardım için teşekkürler ...
yazdığınız kalıpları kullanarak birşeyler yaptım oldu bu sefer

uğraştırdık seni de kusura bakma artık
başkalarının da işine yarar belki , örnek kodlar aşağıdadır.
dnm.html :
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<script>
function str_replace (search, replace, subject, count) {
var i = 0,
j = 0,
temp = '',
repl = '',
sl = 0,
fl = 0,
f = [].concat(search),
r = [].concat(replace),
s = subject,
ra = Object.prototype.toString.call(r) === '[object Array]',
sa = Object.prototype.toString.call(s) === '[object Array]';
s = [].concat(s);
if (count) {
this.window[count] = 0;
}
for (i = 0, sl = s.length; i < sl; i++) {
if (s[i] === '') {
continue;
}
for (j = 0, fl = f.length; j < fl; j++) {
temp = s[i] + '';
repl = ra ? (r[j] !== undefined ? r[j] : '') : r[0];
s[i] = (temp).split(f[j]).join(repl);
if (count && s[i] !== temp) {
this.window[count] += (temp.length - s[i].length) / f[j].length;
}
}
}
return sa ? s : s[0];
}
function buyuk(str){
str=str_replace("i","İ",str);
str=str_replace("ü","Ü",str);
str=str_replace("ö","Ö",str);
str=str_replace("ç","Ç",str);
str=str_replace("ş","Ş",str);
return str.toUpperCase();
}
var str = "yarın ailecek [b] istanbula [s]gideceğiz. oradan da [b]türkiyenin [s] kuzeyine [b]karadenize [s]doğru gideceğiz.";
str = str.replace(/\[b\](.*?)\[s\]/g, buyuk );
str=str_replace("[B]","",str);
str=str_replace("[b]","",str);
str=str_replace("[S]","",str);
str=str_replace("[s]","",str);
document.write(str);
</script>toUpperCase fonksiyonu kullanınca , türkçe karakterlerde sıkıntı vardı ( ör i->I ,ü->U gibi... )
ben de str_replace fonksiyonu yardımı ile i->İ , ü->Ü şeklinde dönüştürdüm.
kolay gelsin herkese, iyi akşamlar.