No creo que algo así sea posible, switch() hace comparaciones "directas"... además de que ereg() solo te devuelve TRUE ó FALSE, nada que puedas ocupar como un
case.
Haz uso de if()'s simples si vaz a manejar expresiones regulares:
Código PHP:
if(ereg("tu_regex", $variable)) {
//bloque
} elseif (regex("tu_regex", $variable)) {
// bloque
} elseif($variable=="algo") { // como un case
//bloque
} //etc
www.php.net/control-structures.elseif
Saludos!