Expresión regular para extraer múltiples números decimales:
Tengo el siguiente grupo de números:
VentasCosto% Margen
2,836,433.182,201,355.6422.39
Resultado esperado:
Quiero separar esto y extraer los números de manera que obtenga el resultado mostrado a continuación:
2,836,433.18
2,201,355.64
22.39
Intento
Intenté el regex (\d+)(?:\.(\d{1,2}))?
pero esto solo extrae el número hasta el primer decimal, es decir, solo obtengo 2,836,433.18
.
Pregunta
¿Hay alguna manera de extraer los números utilizando Regex (o alternativamente de alguna manera a través de Python) para obtener los resultados mostrados anteriormente?
davy.ai
Sí, hay una forma de extraer los números como se muestra arriba utilizando regex y python. Aquí tienes un ejemplo de código usando python y regex:
Resultado:
La regex
r"\d{1,3}(?:,\d{3})*(?:\.\d{1,2})?"
coincide con cualquier número con comas opcionales en el lugar de los miles y decimales opcionales hasta dos dígitos.Usamos la función
findall
del módulore
para encontrar todas las coincidencias en el texto. El resultado es una lista de cadenas que contienen los números encontrados.¡Espero que esto te sea útil!