Ver Mensaje Individual
  #5 (permalink)  
Antiguo 23/04/2011, 11:03
Avatar de razpeitia
razpeitia
Moderador
 
Fecha de Ingreso: marzo-2005
Ubicación: Monterrey, México
Mensajes: 7.321
Antigüedad: 19 años, 8 meses
Puntos: 1360
Respuesta: Duda python Expresiones Regulares

Claro que respondí.
Cita:
Iniciado por razpeitia
Para tu siguiente ejemplo hace exactamente lo mismo pero sin el espacio.
Pero asumí que con el primer ejemplo bastaba. Básicamente hace lo mismo pero sin el espacio en blanco.

De todas formas aquí te lo explico.
Código:
#Paso 1
#Coincide \b por que es el inicio de la cadena y el primer caracter es un caracter de palabra
#"hace una humedad del 95 %"
#^ Aqui coincide \b

#Paso 2
#"hace una humedad del 95 %"
#    ^Coincide \w* hasta aqui

#Paso 3
#"hace una humedad del 95 %"
#    ^Coincide \b por que el anterior caracter es un caracter de palabra y el siguiente no

#Paso 4
#"hace" es un grupo

#Paso 5
#"hace una humedad del 95 %"
#     ^Aqui coincide \b

#Paso 6
#"hace una humedad del 95 %"
#     ^Coincide \w*

#Paso 7
#"hace una humedad del 95 %"
#     ^Coincide \b por que el anterior caracter es un caracter de palabra y el sig no

#Paso 8
#"" se hace grupo

#....

#Paso N
#"hace una humedad del 95 %"
#                      ^Concide \b

#Paso N+1
#"hace una humedad del 95 %"
#                       ^Concide \w*

#Paso N+1
#"hace una humedad del 95 %"
#                       ^Concide \b el sig caracter es un espacio y el anterior es un caracter de palabra

#Paso N+2
#"95" se hace un grupo

#Paso N+3
#"hace una humedad del 95 %"
#                        ^Concide \b

#Paso N+4
#"hace una humedad del 95 %"
#                        ^Concide \w*

#Paso N+5
#"hace una humedad del 95 %"
#                        ^Concide \b

#Paso N+6
#"" se hace un grupo
Lo que tu quieres esto:
Código Python:
Ver original
  1. #coding: utf-8
  2. import re
  3. er = re.compile(r"""
  4. #Para explicar grupo
  5. \b #límite de palabra
  6. (\w+)
  7. \b #limite de palabra
  8. """, re.VERBOSE|re.U|re.I)
  9.  
  10. textoU = u"""hace una humedad del 95 %"""
  11.  
  12.  
  13. print "elm_finditer:"
  14. resultado=re.finditer(er,textoU)
  15. for i in resultado:
  16.     print repr(i.group())
  17. print "---"