Foros del Web » Programando para Internet » Python »

[SOLUCIONADO] re.S funciona en PyThon 2.7 ? (RegEx)

Estas en el tema de re.S funciona en PyThon 2.7 ? (RegEx) en el foro de Python en Foros del Web. Hola, debería obtener la cadena "Agua de mar", pero no sucede: Código: coco=""" Agua /*qsd asda sdasd asd asd asd sad */ de mar""" print ...
  #1 (permalink)  
Antiguo 13/09/2013, 19:25
 
Fecha de Ingreso: febrero-2004
Mensajes: 1.987
Antigüedad: 20 años, 2 meses
Puntos: 22
re.S funciona en PyThon 2.7 ? (RegEx)

Hola,

debería obtener la cadena "Agua de mar", pero no sucede:
Código:
coco="""
Agua
/*qsd
asda
sdasd
asd
asd
asd
sad
*/ de mar"""
print re.sub('\/\*.*\*\/','',coco,re.S)
Tampóco con
Código:
print re.sub('/\*.*\*/','',coco)
Que sucede en PyThon ?
  #2 (permalink)  
Antiguo 13/09/2013, 19:38
Avatar de razpeitia
Moderador
 
Fecha de Ingreso: marzo-2005
Ubicación: Monterrey, México
Mensajes: 7.321
Antigüedad: 19 años, 1 mes
Puntos: 1360
Respuesta: re.S funciona en PyThon 2.7 ? (RegEx)

Código Python:
Ver original
  1. import re
  2.  
  3. coco="""
  4. Agua
  5. /*qsd
  6. asda
  7. sdasd
  8. asd
  9. asd
  10. asd
  11. sad
  12. */ de mar"""
  13.  
  14. print re.sub('\/\*.*\*\/', '', coco, flags=re.S | re.M)

En la documentación dice.

Multiline
Dotall
  #3 (permalink)  
Antiguo 13/09/2013, 19:59
 
Fecha de Ingreso: febrero-2004
Mensajes: 1.987
Antigüedad: 20 años, 2 meses
Puntos: 22
Respuesta: re.S funciona en PyThon 2.7 ? (RegEx)

Cita:
Iniciado por razpeitia Ver Mensaje
Código Python:
Ver original
  1. print re.sub('\/\*.*\*\/', '', coco, flags=re.S | re.M)

En la documentación dice.
Gracias RAS, te aseguro que estuve allí y en mil URLs mas.

Me pierdo en esa REGEX...

Mira que aquí vuelvo a perderme:
Cita:
coco="""
Agua
/*qsd
asda
sdasd
asd
asd
asd
sad
*/ de mar

/*asd
asd
*/
y coco

"""
print re.sub('\/\*.*\*\/', '', coco, flags=re.S | re.M)
... se pierde el mar...
  #4 (permalink)  
Antiguo 13/09/2013, 20:39
 
Fecha de Ingreso: febrero-2004
Mensajes: 1.987
Antigüedad: 20 años, 2 meses
Puntos: 22
Respuesta: re.S funciona en PyThon 2.7 ? (RegEx)

Cita:
Iniciado por razpeitia Ver Mensaje
En la documentación dice.
Gracias RAZ.

Ya logré lo requerido.

Es que en PHP solo coloco U y yá está, en PyThon no sé cómo utilizar el modificador U.

Pero con esta línea me corre bién:
Cita:
print re.sub('/\*.*?\*/', '', coco, flags=re.S | re.M)
  #5 (permalink)  
Antiguo 13/09/2013, 23:32
 
Fecha de Ingreso: febrero-2004
Mensajes: 1.987
Antigüedad: 20 años, 2 meses
Puntos: 22
Respuesta: re.S funciona en PyThon 2.7 ? (RegEx)

Cita:
Iniciado por razpeitia Ver Mensaje
Código Python:
Ver original
  1. print re.sub('\/\*.*\*\/', '', coco, flags=re.S | re.M)
Me apena comunicarles que en CentOs 6.4 con PyThon 2.6.6 el programa falla por que no permite incluir flags=.

Al modificar la línea por
Código:
print re.sub('\/\*.*\*\/', '', coco, re.S | re.M)
La RegGex falla en multilíneas...

¿alguna idea por favor?
  #6 (permalink)  
Antiguo 14/09/2013, 10:00
Avatar de razpeitia
Moderador
 
Fecha de Ingreso: marzo-2005
Ubicación: Monterrey, México
Mensajes: 7.321
Antigüedad: 19 años, 1 mes
Puntos: 1360
Respuesta: re.S funciona en PyThon 2.7 ? (RegEx)

Lee la documentación que en la versión que necesites.

http://docs.python.org/2.6/library/re.html

Código Python:
Ver original
  1. import re
  2.  
  3. coco="""
  4. Agua
  5. /*qsd
  6. asda
  7. sdasd
  8. asd
  9. asd
  10. asd
  11. sad
  12. */ de mar"""
  13.  
  14. pattern = re.compile('\/\*.*\*\/', flags=re.S|re.M)
  15.  
  16. print pattern.sub('', coco)

Etiquetas: Ninguno
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 08:46.