Foros del Web » Programando para Internet » PHP »

Construcción de expresion regular

Estas en el tema de Construcción de expresion regular en el foro de PHP en Foros del Web. Hola amigos, estoy construyendo la siguiente expresion regular: Código PHP: <?php $texto  =  'Juan([email protected]),Pedro([email protected]),Carlos([email protected])' ;   preg_match_all ( '/,.*?\(/' ,  $texto ,  $extraido3 ); print_r ...
  #1 (permalink)  
Antiguo 17/09/2012, 23:37
 
Fecha de Ingreso: febrero-2010
Mensajes: 60
Antigüedad: 14 años, 2 meses
Puntos: 0
Construcción de expresion regular

Hola amigos, estoy construyendo la siguiente expresion regular:

Código PHP:
<?php


$texto 
'Juan([email protected]),Pedro([email protected]),Carlos([email protected])';
 
preg_match_all('/,.*?\(/'$texto$extraido3);
print_r($extraido3);
?>
Que me devuelve:

Código HTML:
Array ( [0] => Array ( [0] => ,Pedro( [1] => ,Carlos( ) )
1. Como puedo hacer para que me devuelva también el primer Nombre.
2. Para que me devuelva sin la coma inicial y el parentesis final

Gracias, espero me puedan ayudar.
  #2 (permalink)  
Antiguo 18/09/2012, 05:37
 
Fecha de Ingreso: febrero-2012
Ubicación: En mi propio mundo
Mensajes: 73
Antigüedad: 12 años, 2 meses
Puntos: 23
De acuerdo Respuesta: Construcción de expresion regular

Asi a lo rápido lo que se me ocurren 3 maneras que te pueden interesar:

Solo los nombres
Código PHP:
preg_match_all('/[A-Z][^,\(\)\s]+/'$texto$extraido3); 
Resultado
Array ( [0] => Array ( [0] => Juan [1] => Pedro [2] => Carlos ) )

Explicación
Le decimos que lo que queremos encontrar es una palabra que empiece con mayusculas y que despues no contenga ni comas ni parentesis 1 o mas veces.




Obtenemos nombres y emails
Código PHP:
preg_match_all('/[^,\(\)]+/'$texto$extraido3); 

Resultado
Array ( [0] => Array ( [0] => Juan [1] => [email protected] [2] => Pedro [3] => [email protected] [4] => Carlos [5] => [email protected] ) )

Explicación:
Obtenemos todas las coincidencias de palabras que no contengan , ( ) una o mas veces. En otras palabras estamos recortando las palabras que estan entre parentesis y las que estan separadas por comas.



Solo los emails
Código PHP:
preg_match_all('/[^,\(\)]+@[^,\(\)]+/'$texto$extraido3); 
Resultado
Array ( [0] => Array ( [0] => [email protected] [1] => [email protected] [2] => [email protected] ) )

Explicación:
Obtenemos todos los elementos que no tengan parentesis al ni coma al principio o al final y que contengan un @

  #3 (permalink)  
Antiguo 18/09/2012, 07:37
 
Fecha de Ingreso: febrero-2010
Mensajes: 60
Antigüedad: 14 años, 2 meses
Puntos: 0
Respuesta: Construcción de expresion regular

Muchas Gracias, con esto entendí mas a fondo las expresiones regulares, estaba un poco confundido en como funcionaban.

Etiquetas: expresion, 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 18:01.