Foros del Web » Programando para Internet » PHP »

Duda con expresión regular

Estas en el tema de Duda con expresión regular en el foro de PHP en Foros del Web. Hola, buenos días. Es la primera vez que escribo, pero os llevo leyendo hace ya un tiempo. Me habéis servido de gran ayuda. Os quería ...
  #1 (permalink)  
Antiguo 22/07/2010, 01:15
 
Fecha de Ingreso: julio-2010
Mensajes: 9
Antigüedad: 13 años, 9 meses
Puntos: 0
Duda con expresión regular

Hola, buenos días. Es la primera vez que escribo, pero os llevo leyendo hace ya un tiempo. Me habéis servido de gran ayuda.
Os quería formular una pequeña duda sobre una expresión regular a ver si alguien me podría ayudar:

Tengo un archivo .TXT, importado de outlook, con todos los datos de los contactos separados por comas. Cada una de la líneas es como esta (hay unas 300 líneas en total):

"","Miguel",,"Muñoz",,"","","",,,,,,,,,,,,,,,,,,,, ,,,,,,,,,,,,,,,,,,,,,,"0/0/00",,,"Normal",,"[email protected]","Migue l Muñoz",,,,,"","0/0/00",,"Sin especificar",,"","Baja",,,,,,,,,,"",,,,,""

El problema es que necesito sólo el e-mail para una pequeña aplicación que estoy desarrollando. ¿Cómo podría obtener todos los mails con una expresión regular? He estado probando algunas pero con tanta coma y comillas no hay manera.
  #2 (permalink)  
Antiguo 22/07/2010, 01:26
 
Fecha de Ingreso: septiembre-2008
Mensajes: 67
Antigüedad: 15 años, 7 meses
Puntos: 3
Respuesta: Duda con expresión regular

pues yo te recomendaria que uses lo siguiente:
$email = "/(([a-z0-9+_]|\\-|\\.)+@(([a-z0-9_]|\\-)+\\.)+[a-z]{2,6})/i";
preg_match_all($email,$ficheroTxT,$matches);
print_r($matches);

Ejecuta eso a ver que resultados te da $matches con suerte tendras los emails que buscas
  #3 (permalink)  
Antiguo 22/07/2010, 03:25
 
Fecha de Ingreso: julio-2010
Mensajes: 9
Antigüedad: 13 años, 9 meses
Puntos: 0
Respuesta: Duda con expresión regular

Muchas gracias!! Me va perfecto. Te lo agradezco. He empezado hace poco en esto y no tenía mucha idea.

Etiquetas: regular
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 10:26.