Pues .. lo que mas te haría falta es un buen manual de Expresiones Regulares para Perl (sí .. para Perl pues de ahí nacieron y de ahí obtendras mas información) ... Luego .. en PHP, tienes las funciones:
Regular Expression Functions (Perl-Compatible)
http://www.php.net/manual/en/ref.pcre.php
En concreto ... preg_grep() ... créo que te vendría bien, pues te devuelve un array con las apariciones del texto que cumpla la expresión regular que indiques ..
La expresión regular para "detectar" una cadena (string) que sea un e-mail válido .. puede ser esta:
([a-zA-Z0-9._]+)@([a-zA-Z0-9.-]+).([a-zA-Z]{2,4})
(extraido de una de las FAQ's de este foro PHP. Sin el ^ que indica "principio" y $ final .. si mal no recuerdo.)
Por supuesto .. tu archivo lo vas a tener que leer hacia una variable .. eso lo puedes hacer fácilmente con:
Código PHP:
$texto_archivo=implode('',file("tu_archivo.txt"));
Un saludo,