If you view the source of the page you're retrieving, you can see the problem; here's the relevant piece:
Code:
<a href='addonentry.php?fsid=38635' >ttt_giant_daycare_V2.zip</a>
Your pattern is looking for the href to be enclosed with double quotes; this markup's using single quotes. There's also a space between the enclosed href and the tag delimiter. If you want to match this specific case, you could use this pattern instead:
Code:
$regex = "#[0-9]{1,9}(?=' >" . $name . "</a>)#";
Or if you wanted to keep it flexible, something like this also works:
Code:
$regex = "#[0-9]{1,9}(?=(\"|')(\s+)?>" . $name . "</a>)#";