Con la funzione eregi voglio estrapolare il numero che si ha all'interno di una stringa di questo tipo: {84}

io ho fatto in questo modo

Codice PHP:
$str="{84}";
if ( 
eregi("^\{([0-9])*\}$",$str,$num) )
{
  
$id implode("",$num);

ma id è sempre {84}...ma il terzo parametro non restituisce (per riferimento) un array con tutti gli elementi che stanno all'interno delle parentesi tonde del pattern? Dove ho sbagliato?