Buenas,
EDITADO: Ya he hecho que funcione

Código:
<?php
$texto = "asdasd@testeando.com";
if(ereg("^([a-zA-Z0-9._]+)@([a-zA-Z0-9.-]+).([a-zA-Z]{2,4})$",$texto)) {
print "El texto \"<b>{$texto}</b>\" es un email";
} else {
print "El texto \"<b>{$texto}</b>\" no es un email";
}
?>La expresión regular:
if(ereg("^([a-zA-Z0-9._]+)@([a-zA-Z0-9.-]+).([a-zA-Z]{2,4})$",$texto)) {^ -> Acento Circunflejo: Tiene doble funcionalidad, en este caso es inicio de una cadena.
[] -> Corchetes: Representa clases de caracteres (agrupar caracteres en grupos o clases)
() -> Paréntesis: Similar a los corchetes, pero con algunas excepciones.
a-z: Busca haber si hay algún carácter de la "a" a la "z" minúsculas.
A-Z: Igual que a-z pero en mayúsculas
0-9: Lo mismo que a-z pero con números del 0 al 9
. -> Punto: Mira haber si hay algún punto, al estar entre corchetes("."), pero tiene otras funciones.
_ -> Barra Baja (o guión bajo): Mira haber si hay alguna barra baja [o guión bajo (_)]
+ -> Signo de la Suma: Se utiliza para encontrar una cadena que se encuentre repetida 1 o más veces.
@ -> Arroba: En este caso, que debe preceder de "arroba".
. -> Punto: En este caso, que debe preceder de .
{} -> Las llaves: Son caracteres literales cuando se utilizan por separado en una expresión regular, pero en este caso dice que {x,x} debe ser entre 2 y 4 caracteres (la extensión de dominio, en la comprobación del email).
$ -> Símbolo del dolar: Al igual que "^", tiene doble funcionalidad, pero en este caso es el cierre de cadena.
Espero que os sirva como me ha servido a mí.
Saludos!
