bizarrely preg_match only returns false on failure not on no match