Expresiones Regulares
[Validar un nº de albarán con una expresión regular] 

Fecha: 13/Ago/2004 (08/08/2004)
Autor: José Ramón Pastor Compañ jrpc@ono.com


Cuando tenemos que validar una cadena de texto, por ejemplo que el nº de un albarán introducido sea correcto, la opción más socorrida (la que usaba yo antes) es hacer un bucle recorriendo la cadena y comprobando caracter a caracter que los datos introducidos se ajustan a un patrón determinado.

Pero hay otra forma que podemos usar desde .NET y es usar una expresión regular, lo que nos ahorrará mucho código y errores potenciales, solo tenemos que construir bien la expresión regular.

Aquí va un ejemplo que yo uso para validar el numero de albarán introducido: [AB]([0-9]{9})

La explicación es la siguiente:

[AB] -> Indica que el primer carácter de la cadena debe ser A o B. En general, con los corchetes indicamos que en esa posición debe aparecer una caracter, pero solo uno, de los que listamos.

([0-9]{9}) ->Indica que los siguientes nueve caracteres {9} deben ser digitos (del 0 al 9)

Por ejemplo, la expresión sería correcta con: A000001257 ó B000000000, pero fallaria con A1257 o C000001257

En mi opinión, las expresiones regulares ayudan  mucho en la validación de cadenas de este tipo y aunque el ejemplo es sencillo creo que representa una gran ventaja, sobre todo cuando se escribe y lee el código. Veamos el ejemplo:

A continuación sigue código en Visual Basic:

Private FunctionValidarNumero(Numero as string) as Boolean
Dim ER As New System.Text.RegularExpressions.Regex("[AB]([0-9]{9})")   
'IsMatch nos devuelve true o false de según la expresión que le pasemos cumpla
'o no con el patrón que le indicamos
Return  ( ER.IsMatch(Numero) )

End Sub

ir al índice