Foros del Web » Programando para Internet » PHP »

Sugerencia para expresion regular, otra opinión

Estas en el tema de Sugerencia para expresion regular, otra opinión en el foro de PHP en Foros del Web. Que tal mis estimados, esta vez les pido su opinión acerca de la siguiente expresión regular. Estoy enpezando a estudiar las regex y me estoy ...
  #1 (permalink)  
Antiguo 27/10/2008, 15:15
Avatar de Gerifaltus  
Fecha de Ingreso: junio-2005
Ubicación: Tabasco, México
Mensajes: 180
Antigüedad: 18 años, 10 meses
Puntos: 4
Sugerencia para expresion regular, otra opinión

Que tal mis estimados, esta vez les pido su opinión acerca de la siguiente expresión regular. Estoy enpezando a estudiar las regex y me estoy basando en el siguiente tutorial (que por cierto está muy bueno).

Tutorial de expresiones regulares (en)

Código PHP:
(sg=)([0-9]+) 
El ejemplo completo es el siguiente:
Código PHP:

$cadena 
"index.php?t=tupd&sg=3667567889&id=17&groupid=change";
$patron "(sg=)([0-9]+)";

if(
ereg($patron,$cadena,$regs)){
    echo 
$regs[2];
}else{
    echo 
"echale galleta !!!";

El objetivo es encontrar el número que le sigue al siguiente texto "sg=" y escribirlo en pantalla, bueno en este ejemplo lo escribo en pantalla, pero en realidad lo ingreso en un array, pero lo del array es harina de otro costal :).

Qué opinan acerca del patrón que estoy usando, como dice el ejemplo, me falta echarle más galleta o voy por buen camino??

Saludos y espero sus comentarios.
__________________
:::.. Todo tiene un ¿Por qué? y un ¿Para qué? ..:::
:::.. Todo se reduce a un SI y a un No ..:::
  #2 (permalink)  
Antiguo 27/10/2008, 15:37
 
Fecha de Ingreso: abril-2008
Mensajes: 453
Antigüedad: 16 años
Puntos: 16
Respuesta: Sugerencia para expresion regular, otra opinión

Código PHP:
$numero 'sg=12354879985';
        if (
ereg ('(sg=)([0-9]+)'$numero$retArr)) {
        
$numero $retArr[2];    
        }else{
        
$numero 'no anda';
        } 
asi anda bien por lo menos
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:48.