Это может быть немного грубо, но я считаю, что это то, что вы ищете:
^{VAR(}|(:[A-Z0-9]+?)})$
Это примет начало строки как {VAR, а затем проверьте, найдет ли он один изa} или a: сопровождаемый серией цифр или символов в верхнем регистре, пока он не найдет}.
Редактировать: я не знал, что OP искал что-нибудь после символа, поэтому я написал новую версиюэто займет любой символ.
^{VAR(}|(:.+)})$
Вот также Демо этого.