Foros del Web » Programación para mayores de 30 ;) » Programación General »

Expresiones regulares

Estas en el tema de Expresiones regulares en el foro de Programación General en Foros del Web. Hola, necesito ayuda <span id="prueba">12345</span> ¿Cómo se haría para extraer el número que está entre esa etiqueta? Gracias de antemano ;)...
  #1 (permalink)  
Antiguo 31/05/2006, 10:07
Avatar de Davidlig  
Fecha de Ingreso: diciembre-2004
Ubicación: Pontevedra
Mensajes: 4
Antigüedad: 19 años, 4 meses
Puntos: 0
Mensaje Expresiones regulares

Hola, necesito ayuda
<span id="prueba">12345</span>

¿Cómo se haría para extraer el número que está entre esa etiqueta?

Gracias de antemano ;)

Última edición por Davidlig; 31/05/2006 a las 15:59
  #2 (permalink)  
Antiguo 31/05/2006, 11:01
Colaborador
 
Fecha de Ingreso: mayo-2006
Ubicación: Valladolid
Mensajes: 524
Antigüedad: 18 años
Puntos: 11
Con una expresión regular, por ejemplo.

Si sólo hay números, la solución más sencilla, es la obvia:
Código:
$x = '<span id="prueba">12345</span>';
# Buscamos un conjunto de dígitos en toda la línea:
($extracto) = $x =~ m/(\d+)/;
print $extracto;
Si queremos extraer todo lo que haya dentro de la etiqueta span, entonces:
Código:
$x = '<span id="prueba">12345</span>';
($extracto) = $x =~ m#>(.+)</span>#;
print $extracto;
Esto no parece muy claro, pero funciona en el ejemplo dado. Lo que estamos haciendo es quedarnos (()) con todos los caracteres (.+?) que estén entre la etiqueta de cierre (</span>) y el inmediatamente (?) ángulo de cierre de la etiqueta anterior (>), que, presumiblemente será el de apertura de span (si el html está bien escrito), por eso no la ponemos en la expresión regular.

Última edición por jferrero; 31/05/2006 a las 16:06
  #3 (permalink)  
Antiguo 31/05/2006, 15:35
Avatar de Davidlig  
Fecha de Ingreso: diciembre-2004
Ubicación: Pontevedra
Mensajes: 4
Antigüedad: 19 años, 4 meses
Puntos: 0
Pues no funciona devuelve la linea tal cual.
  #4 (permalink)  
Antiguo 31/05/2006, 16:07
Colaborador
 
Fecha de Ingreso: mayo-2006
Ubicación: Valladolid
Mensajes: 524
Antigüedad: 18 años
Puntos: 11
Mira que el resultado queda en la variable $extracto, no en la $x...
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 07:29.