First thing, the "." is a special regexp character, so you need to escape it with a "\" if you want the literal "." character (as opposed to the "any character" that it represents when not escaped). Second, just to be sure since the variable names are somewhat ambiguous, as written in your post $result would contain the string to be searched, and $desc would be the array that would store all the matches. Is that correct? Lastly, the parentheses around the entire regexp are not really needed, though they probably don't hurt anything other than meaning any matches would also be stored in $desc[1] as well as $desc[0].
If after any of those changes it still does not work, we may need to see some sample string data from which you are trying to match, to see if some little detail is missing.