"those 2 texts indeed may contain any number of words / symbols"
in that case, why do you need to specify text, text?
Also, since digits are symbols, you dont need the 2 numbers either.
Rather, all you are searching for is:
{text}
I'm not very good at regex myself, but one possible solution could be:
<?php
$str = "bla{{blablack20}sheep}";
if (preg_match("/\{([^\{\}]*)\}/", $str, $matches) == 1)
echo $matches[1];
else
echo "Not found";
?>