Python - Expresiones reguales

 
Vista:
sin imagen de perfil
Val: 46
Ha aumentado su posición en 52 puestos en Python (en relación al último mes)
Gráfica de Python

Expresiones reguales

Publicado por Marta (30 intervenciones) el 11/01/2020 21:19:22
Hola,
estoy mirándome las expresiones regulares en python, y tengo este ejercicio que no sé como hacer.
Tengo q sacar en cada frase, y con la misma expresión, el número q hay delante de "
1
2
3
4
5
texto1 = 'S234 Coche @ Radio 38, 14", OP450, 44, 14B galleta'
texto2 = 'S234 Coche @ Radio 38, 4", OP450, 44, 14B galleta'
texto3 = 'S234 Coche @ Radio 38, 94.8", OP450, 44, 14B galleta'
texto4 = 'S234 Coche @ Radio 38, 8" ghj, OP450, 44, 14B galleta'
texto5 = '9" ghj, OP450, 44, 14B galleta'



osea q para el texto 1 el resultado tiene q ser 14
para el texto 2 --> 4
texto 3 --> 94.8
texto 4 --> 8
texto 5 --> 9


Lo que más me acerco es a esto:

1
2
3
buscar=re.search(r"\,\s\d.+\"", texto1)
print(buscar.group())

Pero no vale
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 46
Ha aumentado su posición en 52 puestos en Python (en relación al último mes)
Gráfica de Python

Expresiones reguales

Publicado por Marta (30 intervenciones) el 11/01/2020 23:45:34
Vale, me acabo de enterar que hay que usar un patrón al estilo de

1
2
3
import re
 
patron = re.compile(...."insertar patrón"....)

Voy a investigarlo.....
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de joel
Val: 3.475
Oro
Ha mantenido su posición en Python (en relación al último mes)
Gráfica de Python

Expresiones reguales

Publicado por joel (901 intervenciones) el 12/01/2020 09:29:06
Hola Marta, puedes hacerlo así:

1
print(re.findall("\s?(\d+)\"", texto1)[0])
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 46
Ha aumentado su posición en 52 puestos en Python (en relación al último mes)
Gráfica de Python

Expresiones reguales

Publicado por Marta (30 intervenciones) el 12/01/2020 11:10:36
Fantastico!, gracias, voy a mirarlo despacito para ver que es lo que hace,
aunque en el texto 3 falla, no me captura lo q esta delante del punto

1
print(re.findall("\s?(\d+)\"", texto3)[0])
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 46
Ha aumentado su posición en 52 puestos en Python (en relación al último mes)
Gráfica de Python

Expresiones reguales

Publicado por Marta (30 intervenciones) el 12/01/2020 18:27:05
por si a alguien le interesa

1
2
buscar=re.search(r"\d+\.?\d?\"", texto1)
print(buscar.group()[:-1])
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
2
Comentar
Imágen de perfil de joel
Val: 3.475
Oro
Ha mantenido su posición en Python (en relación al último mes)
Gráfica de Python

Expresiones reguales

Publicado por joel (901 intervenciones) el 13/01/2020 07:36:09
gracias por comentarlo!!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar