Ver Mensaje Individual
  #1 (permalink)  
Antiguo 25/03/2009, 10:15
nnelis
 
Fecha de Ingreso: enero-2009
Mensajes: 24
Antigüedad: 15 años, 3 meses
Puntos: 0
duda con expresiones regulares

Hola,

una consulta. alguien sabrá como hacer una expresión regular, para certificar el siguiente tipo de datos ?

1. 400001 (entre 0 y 499999)
2. 400001:15 (la parte anterior a : es igual a la restricción anterior, desde : en adelante es totalmente opcional, pero si hay un : entonces el valor a tomar luego del : es entre 0 a 15).

Intente hacer algo como lo que sigue:

Código:
    Private Function valida(ByVal cadena As String) As Boolean

        Dim objRegExp As New System.Text.RegularExpressions.Regex("^(\d[0-4]\d\d\d\d\d?(:\d|1[0-5]))$")

        If objRegExp.IsMatch(cadena) Then
            valida = True
        Else
            valida = False
        End If
    End Function
respecto de la expresion regular:

1. La parte \d[0-4]\d\d\d\d\d seria para limitar la parte antes de : entre 0 y 499999.
2. La parte ?(:\d|1[0-5]) seria la parte opcional, y que en caso de que existan : entonces el valor posterior seria entre 0 a 15.

Alguien podría ayudarme, please.

Gracias