Hola,
No suelo usar expresiones regulares, pero puede ser que * sea un caracter reservado que tenga un significado especial (creo que significa '0 o mas'). Supongo que escapando con \ servira. Aun asi, si lo que quieres es comprobar si la cadena contiene '*', creo que es mas conveniente no usar expresiones regulares, y usar una funcion, en concreto strpos() (
www.php.net/strpos).
Saludos.