¿Qué es una buena expresión regular para el manejo de un número de coma flotante (es decir, como flotador de Java)Cómo detectar un número de coma flotante utilizando una expresión regular
La respuesta debe coincidir con arreglo a los siguientes objetivos:
1) 1.
2) .2
3) 3.14
4) 5e6
5) 5e-6
6) 5E+6
7) 7.e8
8) 9.0E-10
9) .11e12
En resumen, se debe
- ignorar las señales anteriores
- requieren el primer carácter a la izquierda de el punto decimal a ser distinto de cero
- permiten 0 o más dígitos a cada lado del punto decimal
- permitir un número sin la coma decimal
- permiten notación científica
- permitir que el capital o minúscula 'e'
- permiten exponentes positivos o negativos
Para aquellos que se preguntan, sí, esto es un problema de tarea. Recibimos esto como una tarea en mi clase graduada de CS sobre compiladores. Ya entregué mi respuesta para la clase y la publicaré como respuesta a esta pregunta.
[Epílogo] Mi solución no recibió crédito completo porque no manejaba más de 1 dígito a la izquierda del decimal. La asignación mencionó el manejo de flotantes Java aunque ninguno de los ejemplos tenía más de 1 dígito a la izquierda del decimal. Publicaré la respuesta aceptada en su propia publicación.
que personalmente iba a escribir un montón de pruebas unitarias ... –
Estos son requisitos muy extrañas. Dicha expresión no coincidirá con "0.5". – user763305