Si, hace años q dejé la carrera y soy bastante torpe para dar con la reg ex del número decimal
Alguien la tiene a mano?
Lo q necesito son X números una coma q aparezca o no y X números.
Recuerdo q reg ex = Expresión regular.
Gracias :$
Si, hace años q dejé la carrera y soy bastante torpe para dar con la reg ex del número decimal
Alguien la tiene a mano?
Lo q necesito son X números una coma q aparezca o no y X números.
Recuerdo q reg ex = Expresión regular.
Gracias :$
DIGITO: ('0'..'9');
NUMERO : ((DIGITO)+ '.') => (DIGITO)+ '.' (DIGITO)+
| ((DIGITO)+) => (DIGITO)+
Esa es la expresion regular, para un numero con y sin decimales. Esta en ANTLR (plugin Java para analisis lexico y sintactico), si la quieres en otro lenguaje (PERL por ejemplo), pues ya modifica tu lo que veas.
Bye
#5 Pero si es una maravilla, salvo el que tengas que poner todo en la misma linea porque si le pones varios "saltos" peta.
digito = ( 0+1+2+3+4+5+6+7+8+9 )
(digito)* · ( '.' | digito ) · (digito)*
0 o mas digitos, concatenados con un '.' o el ultimo digito(oblg si no hay punto) concatenado con 0 o mas digitos.
Esto admitiria " .024" como valido , si no lo quieres: ( E= epsilon )
(digito)+ · ( '.' | E ) · (digito)*
No se si estan bien las he hecho ahora mientras contestaba.
· concatenacion, * la estrella esa de nosequien, + ( 1o mas ) | ( el "ó" )
#4 En la carrera tuve q hacer "traductores" con flex y toda esa mierda. Es lo mas aburrido q he visto en mi vida, de ahi q mi mente optara por ignorar todo lo aprendido y cuando me hacen falta las expresiones regulares pues me pongo malo.
Aun así, fijate si lo tengo olvidado q aun no he transformado la expresión regular q me dieron a regex xDDDD.
Te complicas mucho la vida.
Esta es la ER Soltrac, las ER que yo recuerde se las come Regex.
General:
[0-9]+(,)?[0-9]*
Limitando los numeros de la coma:
[0-9]+(,)?[0-9]{0,5}
Con esta tienes que los numeros detras de la coma van de 0 a 5 apariciones, es decir, de 0 a 5 decimales.
En todo caso ambas er representan el mismo lenguaje o ,si lo prefieres ,son equivalentes. (por rizar el rizo un rato xd)
No, en realidad es lo mismo expresado con una notacion distinta:
(digito)+ · ( '.' | E ) · (digito)*
[0-9]+(,)?[0-9]*
con las diferencias en notacion de:
digito == [0-9]
'.' | Epsilon == (,)?
#1 Si es la de un número decimal:
Notación "formal" de teoría de autómatas: <digito> · <digito>* · [ (<coma> · <digito> · <digito>* ) + E ]
Notación de "andar por casa": [0-9]+(,[0-9]+)?
Las otra que he visto por aquí te admitiría 123,
Salu2