pattern_test<-"\\{(?:[^{}]++|(?R))*}"
teststring <- "{the {dog} is {hot}},{the {cat} is {lazy}}"
unlist(regmatches(teststring, gregexpr(pattern_test, teststring, perl=TRUE)))
cGF0dGVybl90ZXN0PC0iXFx7KD86W157fV0rK3woP1IpKSp9Igp0ZXN0c3RyaW5nIDwtICJ7dGhlIHtkb2d9IGlzIHtob3R9fSx7dGhlIHtjYXR9IGlzIHtsYXp5fX0iCnVubGlzdChyZWdtYXRjaGVzKHRlc3RzdHJpbmcsIGdyZWdleHByKHBhdHRlcm5fdGVzdCwgdGVzdHN0cmluZywgcGVybD1UUlVFKSkp