razpeitia gracias por la ayuda, pero creo que sigo sin entender lo del espacio... Si que entiendo la diferencia de poner el \s y no ponerlo, si lo pongo básicamente entiendo que el \s forma parte de la cadena que busco. Ahora bien no entiendo por ejemplo porque si uso en la ER
\b\w*\b me aparecen lineas en blanco en la salida del print y si uso
\b\w+\b no.
A su vez he probado a introducir este texto en un fichero:
Código Python:
Ver original#coding: utf-8
import re
import codecs
er = re.compile(r"""
#Para explicar grupo
\b #límite de palabra
(\w*)
\b #limite de palabra
""", re.VERBOSE|re.U|re.I)
textoU = u"""hace una humedad del 95 %"""
print "elm_finditer:"
resultado=re.finditer(er,textoU)
for i in resultado:
print i.group()
print "---"
lista = er.sub(r"""\1\n""",textoU)
f_salida= codecs.open("fich_prueba5.txt",'w',"utf-8")
for j in lista:
f_salida.write(j)
f_salida.close
y he visto que me devuelve un fichero de esta forma, independientemente de si he usado el
\b\w+\b o el
\b\w*\b.
Me mete un espacio delante de las palabras a partir de la primera, eso a que se debe?.
Por cierto para que me sirve a mi el repr()?.
Muchas gracias, como ves estoy hecho un lio...