<?php
$string = "This is {test} for [a]{test2} for {test3}.";
$regex = '/\[[^]]*]\{[^}]+}(*SKIP)(*F)|\{[^}]+}/';
PD9waHAKCiRzdHJpbmcgPSAiVGhpcyBpcyB7dGVzdH0gZm9yIFthXXt0ZXN0Mn0gZm9yIHt0ZXN0M30uIjsKJHJlZ2V4ICAgICAgPSAnL1xbW15dXSpdXHtbXn1dK30oKlNLSVApKCpGKXxce1tefV0rfS8nOwplY2hvIHByZWdfbWF0Y2hfYWxsKCRyZWdleCwgJHN0cmluZywgJG1hdGNoZXMpIC4gIlxuIjsKcHJpbnRfcigkbWF0Y2hlc1swXSk7