[' 316 ', ' 223 ']
['316', '223']
Prueba añadiendo espacios al comienzo y al final de la cadena y luego pidiendo que se capturen también:Código: Python
import re cadena = " 316 4128 12 2174 223 " patron = r" \d{3} " res = re.findall(patron, cadena) print(res)
Resultado:Código: [Seleccionar][' 316 ', ' 223 ']
Encontré esto y funciona, tiene poco que ver con RE pero bueno, x mucho que leo parece
(no sé qué opinas vos) ser una solución viable, te leo.-
-------------------------------------------------------------------
import re
cadena = "12 123 1124 125 3162 22 451 4500 15"
final = []
patron = r"\d+"
res = re.findall(patron, cadena)
for num in res:
if len(num) == 3:
final.append(num)
if len(final) > 0:
print(final)
else:
print("No se encontró ningún numero de 3 cifras")
----------------------------------------------------------------------
Yo veo mas elegante la solución que utiliza solo cadenas regulares, pero es cuestión de gustos.Jajajajaja no amigo, no es cuestión de gusto lo que ocurre es que si acepto algo como mejor
Este programa debería programarse así:Gracia me acortaste las líneas de código y quedo como debe ser.
Jajajajaja no amigo, no es cuestión de gusto lo que ocurre es que si acepto algo como mejor
(que es el caso que vos propones) necesito interpretarlo para aprender y las RE si pasa de esto [\b] ya me cuesta,
Esta pagina es muy buena para practicar ER, muy buena.¡Es genial!
https://regex101.com/ (https://regex101.com/)