and - regex only numbers c#
¿Cómo incluyo números decimales negativos en esta expresión regular? (12)
¿Cómo comparo los números negativos también con esta expresión regular? Esta expresión regular funciona bien con valores positivos, pero también quiero que permita valores negativos, por ejemplo, -10, -125.5, etc.
^[0-9]/d*(/./d+)?$
Gracias
Algunos ejemplos de expresiones regulares:
Enteros positivos :
^/d+$
Enteros negativos :
^-/d+$
Entero :
^-?/d+$
Número positivo :
^/d*/.?/d+$
Número Negativo :
^-/d*/.?/d+$
Número positivo o número negativo :
^-?/d*/.{0,1}/d+$
Número de teléfono :
^/+?[/d/s]{3,}$
Teléfono con código :
^/+?[/d/s]+/(?[/d/s]{10,}$
Año 1900-2099 :
^(19|20)[/d]{2,2}$
Fecha (dd mm aaaa, d / m / aaaa, etc.):
^([1-9]|0[1-9]|[12][0-9]|3[01])/D([1-9]|0[1-9]|1[012])/D(19[0-9][0-9]|20[0-9][0-9])$
IP v4 :
^(/d|[1-9]/d|1/d/d|2[0-4]/d|25[0-5])/.(/d|[1-9]/d|1/d/d|2[0-4]/d|25[0-5]){3}$
Debería agregar un guión opcional al principio agregando -?
( ?
es un quantifier significa una o cero ocurrencias ):
^-?[0-9]/d*(/./d+)?$
Lo verifiqué en Rubular con estos valores:
10.00
-10.00
y ambos coincidieron como se esperaba.
Esto funcionó para mí, permitiendo números negativos y positivos :
/-*/d+
Si usa C #:
Regex.Match(someString, @"/-*/d+").Value;
Esto permitirá números enteros positivos y negativos
ValidationExpression = "^ -? [0-9] / d * (/ d +)? $"
Esto permitirá un carácter -
o +
solo cuando esté seguido por un número:
^([+-](?=/.?/d))?(/d+)?(/./d+)?$
Expresión regular para el número, punto decimal opcional, negativo opcional:
^-?(/d*/.)?/d+$;
funciona para entero negativo, decimal, negativo con decimal
No sé por qué necesitas eso primero [0-9]
.
Tratar:
^-?/d*(./d+)?$
Actualizar
Si quiere estar seguro de que tendrá un dígito en el lugar de las unidades, use
^-?/d+(./d+)?$
Solo agrega un token de 0 o 1:
^-?[0-9]/d*(./d+)?$
Solo para números negativos, esto es perfecto.
^-/d*/.?/d+$
Tengo algunos experimentos sobre regex en django url, que requieren números negativos a positivos
^(?P<pid>(/-/d+|/d+))$
Centrémonos en esta parte (/-/d+|/d+)
e ignorando otras, este punto y coma |
significa O en expresiones regulares, entonces el valor negativo coincidirá con esta parte /-/d+
, y el valor positivo en este /d+
ACTUALIZADO (13/08/2014): Este es el mejor código para números positivos y negativos =)
(^-?0/.[0-9]*[1-9]+[0-9]*$)|(^-?[1-9]+[0-9]*((/.[0-9]*[1-9]+[0-9]*$)|(/.[0-9]+)))|(^-?[1-9]+[0-9]*$)|(^0$){1}
Intenté con estos números y funciona bien:
-1234454.3435
-98.99
-12.9
-12.34
-10.001
-3
-0.001
-000
-0.00
0
0.00
00000001.1
0.01
1201.0000001
1234454.3435
7638.98701
^[+-]?/d{1,18}(/./d{1,2})?$
acepta valores decimales positivos o negativos