Ejercicio de RegEx #3: Encuentra los números
Escribe cinco expresiones regulares:
- Una llamada
integersque coincida con todos los números enteros, positivos o negativos. - Una llamada
floatsque coincida con todos los números decimales, positivos o negativos. - Una llamada
positiveque coincida con todos los números positivos, enteros o decimales. - Una llamada
negativeque coincida con todos los números negativos, enteros o decimales. - Una llamada
numbersque coincida con todos los números, enteros o decimales, positivos o negativos.
Detalles que debes tener en cuenta:
- Las fracciones de 1 pueden estar precedidas o no por un 0. Todos
0.5,.5y-.5son números válidos. - Los números decimales tendrán al menos un dígito decimal. Tanto
4.como-3.no son números válidos. - Los números positivos pueden estar precedidos o no por un
+. Tanto3como+3son números válidos. - Los números precedidos por más de un símbolo o que tengan más de un punto decimal no se consideran válidos.
++1,-+4y3.3.6no son números válidos. - Todos los números, válidos o no, estarán precedidos y seguidos por un espacio en blanco.
Ejemplo
txt = " 123.456 2 +7 -88 -.25 9.10.11 -4. +-34 -0.6 --5 "
integers = "yourregularexpressionhere"
floats = "yourregularexpressionhere"
positive = "yourregularexpressionhere"
negative = "yourregularexpressionhere"
numbers = "yourregularexpressionhere"
re.findall(integers, txt) ➞ ["2", "+7", "-88"]
re.findall(floats, txt) ➞ ["123.456", "-.25", "-0.6"]
re.findall(positive, txt) ➞ ["123.456", "2", "+7"]
re.findall(negative, txt) ➞ ["-88", "-.25", "-0.6"]
re.findall(numbers, txt) ➞ ["123.456", "2", "+7", "-88", "-.25", "-0.6"]Notas
- No necesitas escribir una función, solo el patrón.
- No elimines
import redel código. - Si te atascas, revisa Comentarios para encontrar algunas pistas útiles.
- Encuentra más información sobre RegEx en Recursos.
- Puedes encontrar todos los desafíos de esta serie en mi colección Basic RegEx.