las funciones ereg* usan las expresiones regulares de POSIX, (las 'comunes')
y las funciones preg_* usan las expresiones regulares de PERL, que tienen reglas sintácticas diferentes.
acá hay una descripción general de las expresiones regulares de PERL:
http://affy.blogspot.com/p5be/ch10.htm
Saludos.