Why does this code always go to the TRUE branch regardless of the value I put in for $body?

PHP Code:
<?php
    $body 
'xxx';

    if (
preg_match('~([0-9-]+)~'$body) !== false){
        echo 
'Image Found';

    }else{
        echo 
'Image Not Found';

    }
?>

According to the PHP Manual...

preg_match() returns 1 if the pattern matches given subject, 0 if it does not, or FALSE if an error occurred.
Warning

This function may return Boolean FALSE, but may also return a non-Boolean value which evaluates to FALSE. Please read the section on Booleans for more information. Use the === operator for testing the return value of this function.

So 'xxx' should return '0' and since I am using '!==' shouldn't things resolve to the ELSE branch??

Thanks,


Debbie