
Rozchodzi się o proste replace, wszystkie dopasowania [a]xxx[/a] trzeba zamienić na coś, dla testu niech to będzie [z]xxx[/z]
var pattern = /\[a\](.*?)\[\/a\]/g; value = value.replace(pattern, "[z]$1[/z]");
Gra i huczy ale wiadomo o co kaman, trzeba jeszcze rozwazyć opcję zagnieżdzenia:
[a]xx[a]zzz[/a]xx[/a]
Już niestety nie działa, wynik jest jaki jest i rozumiem dlaczego taki a nie inny. Wiem, że w rzeczywistości takie coś nie ma sensu ale siedzi mi to w głowie, kombinowałem z kwantyfikatorami ale nie chce trybić.