Programación Web y Scripting > Python
Imprimir por pantalla :: lo que sea :: [Resuelto]
(1/1)
soasada:
Hola a todos, soy nuevo en el foro. Viendo que tiene bastantes secciones y gente dedicada me dispongo a postear un problema que tengo, al que no le pongo solución.
Quiero hacer un script en Python que lo que haga es, que encuentre lo que sea entre :: y :: , lo imprima por pantalla. En perl se hacerlo con una expresión regular, he estado buscando y no encuentro nada parecido...
En pseudocódigo sería algo así:
Si content contiene algo entre :: y ::
imprime $1
No se si me he explicado bien. Espero que puedan echarme una mano, y felicidades por el foro ;).
Un saludo y gracias de antemano.
EDIT:
Bueno ya he podido resolver el problema, pongo aquí la solución por si a alguien le sirve.
Primero probé con esto:
--- Código: ---#!/usr/bin/env python
import re
s = "::Hola@mundo.hola::"
prueba = re.search('(?<=::)\S+', s)
print prueba.group(0)
--- Fin del código ---
La expresión regular lo que hacía era buscar en la variable s una cadena que empezara por :: y a continuación imprimía todo lo que tenía detrás de ::. \S lo que le dice a la expresión es que coja cualquier carácter que no sea un espacio en blanco. Equivale a [^ \t\n\r\f\v].
Pero la salida era:
--- Código: ---:~ Hola@mundo.hola::
--- Fin del código ---
Y yo no quería que salieran ::.
Para que imprima todo lo que encuentre en una cadena entre :: y :: , lo hice así:
--- Código: ---#!/usr/bin/env python
s = "::Hola@mundo.hola::"
print s.split('::')[1]
--- Fin del código ---
y devolvía:
--- Código: ---Hola@mundo.hola
--- Fin del código ---
Un saludo a todos.
arielb:
Hola, bienvenido al foro.
Gracias por dejar la solución.
Navegación
Ir a la versión completa