Documente Academic
Documente Profesional
Documente Cultură
.
3.
Ejemplos de Expresiones regulares
[abc123] Representa uno de los caracteres situados entre los parntesis.
[a-e] Representa cualquiera de los caracteres que se encuentran entre el rango de: a y
e, incluyendo tanto el primer carcter como el lltimo.
[a-eh-x] Del mismo modo que el anterior, representa cualquier carcter situado entre el
rango de: a-e y h-x.
[^a-s] Representa cualquier carcter que no se encuentre entre el rango de: a y s.
Validar un password:
Acepto un rango "-" de caracteres de la "a" a la "z" en maysculas "A-Z" y minsculas "a-z" y
con sus acentos. Tambin incluye rango de digitos del "0-9", y caracteres especiales
"!@#\$%\^&\*\?_~\/". Los caracteres especiales siempre escapados por "\".
^[a-zA-Z0-9!@#\$%\^&\*\?_~\/]{4,20}$
Validar un email:
Acepto un rango de caracteres de "A-Z" en maysculas y minsculas, rango de digitos del "0-
9, y caracteres permitidos en las direcciones de correo. Todo esto en un mnimo de 2 y no
especifico el mximo "{2,}". Seguido por un "@", y seguido por el mismo patron de
concordancia, para el nombre del dominio. Todo esto seguido por un "."(punto). Terminado por
rango de caracteres de "A-Z" en maysculas y minsculas, mnimo de 2 y mximo 4 "{2,4}"
^[a-zA-Z0-9_\-\.~]{2,}@[a-zA-Z0-9_\-\.~]{2,}\.[a-zA-Z]{2,4}$
^9[0-9]{8}$
^6[0-9]{8}$
Validar un DNI (de espaa):
Empieza con rango de digitos del "0-9" en una cantidad exacta de {8}, y continua con una letra
en rango de A-Z.
^[0-9]{8}[A-Z]$
Carcteres
[] Se utiliza para definir una clase "carcter".Se puede utilizar para que concuerde
listados, o rangos.
- Rango de caracteres, cuando se utilizan dentro de una clase de caracteres. Para los
rangos, utilizaremos el carcter - como separador de definicin, lo utilizaremos de la
siguiente forma: [A-Z] concuerda cualquier letra mayscula. Otros ejemplos vlidos
son: [0-9] [aeiou0-9]
^ Se utiliza en conjunto con los corchetes [ ^ ] para definir una NEGACIN, es decir,
concuerda cualquier carcter EXCEPTO los incluidos en el listado. [^a-f] encontrar
cualquiera excepto a,b,c,d o f. Negacin de la clase de caracteres.
Si queremos utilizar una concordancia ms genrica, podemos utilizar las variables \d
para dgitos, \w para espacios en blanco y \s para carcteres alfanumricos. Las
mismas variables en MAYSCULAS (\D) se utilizan para la negacin, stas deben ser
utilizadas fuera de los corchetes [].
. (Punto) Coincidencia con cualquier carcter exceptuando el carcter de nueva lnea \r
y \n
*Busca cero o ms de los caracteres que preceden a "*". Por ejemplo, "Ab*c"
encuentra "Ac", "Abc", "Abbc", "Abbbc", y as sucesivamente.
.* Esta comvinacin significa "lo que sea, una o ms veces" (pero cuidado con esto
que entra todo).
| Se utiliza para dar alternativas (o una concordancia o la otra), concuerda con una de
las opciones separadas por este carcter. Puede usarlo como: abc|def|hij, en tal caso
encontrara abc o def o hij. Tambin puede usarlo como: abc(def|xyz) en este caso
encontrara abcdef o abcxyz.
Caracteres no alfabticos ni numricos
Algunos de los caracteres "especiales" no numricos ni alfabticos tienen un significado de
por si, como por ejemplo [ ] { } ( ) * . ^ $ etc. No podemos ponerlos tal cual si forman parte de
nuestro formato, debemos "escaparlos" poniendo \ delante.
Agrupacin
() Podemos utilizar estos carcteres para agrupar una combinacin de los explicados
anteriormente. Se utilizar con tres funciones bsicas, la primera, organizacin visual
de la expresin, tambin la utilizaremos para aplicar carcteres de cuantificacin a un
grupo de expresiones (Por ejemplo ABC([\w]{2,5}\.(html|xml))? ), tambin una funcin
muy til, es la de agrupar el resultado de una concordancia para poder utilizarla
despus como referencia.
$n donde n es un nmero del 1 al 9, se utiliza para referenciar a una agrupacin previa
realizara con (). El ejemplo anterior devuelve dos referencias, $1 y $2, la primera
devuelve toda la parte de ([\w]{2,5}\.(html|xml)) y la segunda, nicamente (html|xml)
? Se utiliza para anular una referencia. Si lo utilizamos justo despus de abrir el
parntesis ( anulara la "back reference", en ese caso si cambiamos la expresin
anterior por: ABC([\w]{2,5}\.(?:html|xml))? veremos que slo devuelve la referencia $1.
Cuantificadores
Abreviatura
Validando direcciones de
email con expresiones
regulares
Durante los ltimos aos he perfeccionado una expresin regular que
valida la mayora de direcciones de correo electrnico. Su nica
limitacin es que no valida los emails que utilizan direcciones IP en la
parte del servidor. Ahora mismo esta expresin regular es:
^[_a-z0-9-]+(.[_a-z0-9-]+)*@[a-z0-9-]+(.[a-z0-9-]+)*(.[a-z]{2,4})$