[pyar] Expresiones regulares y el "Matches if ... doesn’t match next"

Rodolfo Hugo González lu8ekg en gmail.com
Sab Nov 13 22:35:03 ART 2010


El 13/11/10 22:11, N Cis escribió:
> Hola lista!,,
> Intente hacer algo con el modulo re y las expresiones regulares, pero la
> verdad no lo puedo entender =S...
> Yo tengo un archivo donde hay muchos tags de imagenes (<img>, <img/>),
> como algunos no tienen la "/", nececito transformarlos a todos y
> ponerles eso.
> Se me ocurrio usar el comando re.sub...
> Mi idea fue esta (No anda :S):
> 
> archivo = re.sub("(<img.*?)(?!/)>", '\g<1>/>', archivo)
> Cuando no tiene el "/" lo agrega, pero si lo tiene, lo duplica =S.
> (donde archivo es un str con un o mas tags de imagenes), paso copia de
> consola:
> 
>>>> import re
>>>> archivo = "<img src='hola'>"
>>>> archivo = re.sub("(<img.*?)(?!/)>", '\g<1>/>', archivo)
>>>> print archivo
> <img src='hola'/>
>>>> archivo = "<img src='hola'/>"
>>>> archivo = re.sub("(<img.*?)(?!/)>", '\g<1>/>', archivo)
>>>> print archivo
> <img src='hola'//>
> 
> Osea, no entiendo como hacer que ignore cuando el "/" esta presente.
> 
> Alguna ayuda?.
> 
> Saludos.
> 
Holas...

Digo esto sin saber mucho, mejor dicho csi nada de "re"...

Si haces un "if..." antes de ejecutar la línea que tiene el "re.sub..."
que controle si 'archivo' tiene en el penúltimo caracter la '/', y si la
tiene que salte la ejecución?
Y en la línea de 'archivo' solo ponés la orden de agregar...

Esto es pura lógica de programación. Vos tenés que darle la codificación
necesaria...

Perdón, pero no se nada de "re"... y asociados..

Rolfo.





------------ próxima parte ------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 262 bytes
Desc: OpenPGP digital signature
URL: <http://listas.python.org.ar/pipermail/pyar/attachments/20101113/86cccf7e/attachment.sig>


More information about the pyar mailing list