Publicado el 26 de Mayo del 2018
832 visualizaciones desde el 26 de Mayo del 2018
161,4 KB
9 paginas
Creado hace 14a (11/03/2010)
Expresiones Regulares
Expresiones Regulares
Expresiones Regulares
Expresiones Regulares
• Una expresión regular es un patrón de
caracteres.
• Muchas herramientas computacionales las
utilizan para especificar el texto que se desea
buscar ó manipular.
p
p
q
Literales
Literales
En JavaScript, cuando se asigna a una variable una expresión regular, esta empieza y
termina con slash “/” por ejemplo;
var firstRE = /era/;
/
/
fi
ó alternativamente
var firstRE = new RegExp(“era”);
Todas las palabras que contienen este patron se dice que coinciden “match” por ejemplo:
pecera era visera esfera etc
pecera, era, visera, esfera, etc.
observe que por convención el nombre de la
variable termina con RE
Metacaracteres
Metacaracteres
Inicio de string
Fin de string
0 ó mas veces
0 ó una vez
0 ó una vez
1 ó mas veces
Cualquier caracter excepto new line
^
$
*
?
?
+
.
Metacaracteres como literales y
viceversa
El simbolo de escape \ permite quitar a los metacaracteres su significado
especial, por ejemplo:
firstRE=/\*/;
firstRE /\ /;
Hace coincidir los textos que contienen un asterisco.
Clases de caracteres
Clases de caracteres
\s espacio en blance
\w palabra (letra, número ó underscore)
\S no espacio en blanco
\W no‐palabra
\d dígito
\D no digito
\b frontera de una palabra
\B no‐frontera
[ab] match si a está presente ó si b está presente
[^ab] match si ni a ni b están presentes (^ dentro del paréntesis significa negación)
[ ab] match si ni a ni b están presentes ( dentro del paréntesis significa negación)
[a-n] match si está presente un caracter entre a y n
(a|b) match si a está presente ó b esta presente
Banderas (flags)
Banderas (flags)
Modifican la búsqueda:
g global, indica que se deben buscar todas las coincidencias no solo la primera
i
m la busqueda puede abarcar varias líneas. Ejemplo
ignore case, la coincidencia se hace sin importar si son mayúsculas ó minúsculas
var firstRE = /era/gi;
ó alternativamente
var firstRE = new RegExp(“era”,”gi”);
búsqueda global sin tener en cuenta si las letras son
mayúsculas ó minúsculas.
Erasmo, Tera, Litera, ERA
Ejemplos
Ejemplos
var mySearchRE = /^era/gm;
i id i l i l ú i ó lí i
Hay coincidencia solo si algún string ó línea empieza con
“era”
var mySearchRE = /era$/gm;
Hay coincidencia solo si algún string ó línea termina con
“era”
Ejemplos
Ejemplos
var mySearchRE = /\sthe\s/gim;
Todas las veces que aparece “the” en cualquier línea
precedido y seguido de un espacio en blanco y
var mySearchRE = /\bthe\b/gim;
T d l
“th ” l i lí
Todas las veces que aparece “the” en cualquier línea
iniciando y terminando una palabra
Métodos de String
Métodos de String
match(re)
Regresa el primer substring que cumple con re, puede
ser global si usa la bandera “g” en ese caso regresa
todos los substrings que cumplen re
l b l
l b
“ ”
d
i
replace(re, remplazo) Remplaza los caracteres que cumplen re por los del
p
p
p
q
p
p
(
,
)
string remplazo con la bandera global
search(re)
split(re)
Regresa la posición del substring que cumple con re
Particiona el string basandose en re y lo almacena en
un arreglo
Métodos de RegExp
Métodos de RegExp
compile(pattern, flags) Modifica la expresión regular
exec(string)
test(string)
Regresa el primer substring que cumple con re, y
recuerda la posición (index)
Regresa true si el string contiene al menos una
coincidencia con la expresión
Validar e‐mail
Validar e mail
function validate email(field alerttxt) {
function validate_email(field,alerttxt) {
with (field) {
mailRE=/^\w+@\w+\ /;
mailRE=/^\w+@\w+\./;
apos=value.indexOf("@");
d t
dotpos=value.lastIndexOf(".");
tI d Of(" ")
if (apos<1||dotpos-apos<2) {
l
l
(
alert(alerttxt);
)
return false;
} else {
return true;
return true;
}
}
}
}
function validate email(field alerttxt) {
function validate_email(field,alerttxt) {
mailRE=/^\w+@\w+\./;
with (field) {
ld) {
ith (fi
if (value.match(mailRE)) {
return true;}}
} else {
alert(alerttxt);
return false;
return false;
}
}
Validación de dirección de e‐mail
Validación de dirección de e mail
re = /^\w+([\
]?\w+)*(\ \w{2 3})+$/;
re = /^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/;
]?\w+)*@\w+([\
Validación de URLs
Validación de URLs
var re = /^(file|http):\/\/\S+\/\S+\.(gif|jpg)$/i;
Fecha yyyy‐mm‐dd
Fecha yyyy mm dd
Re=/(19|20)\d\d[- /.](0[1-9]|1[012])[- /.](0[1-9]|[12][0-9]|3[01])/
Teléfono
Teléfono
re = /^\(?(\d{3})\)?[\.\-\/ ]?(\d{3})[\.\-\/ ]?(\d{4})$/;
• Paréntesis opcionales
• 3 dígitos
• opcionalmente punto, espacio, guión ó slash
• 3 dígitos
• opcionalmente punto, espacio, guión ó slash
• 4 dígitos
4 dígitos
re = /^(\((\d{3})\)|(\d{3}))?[\.\-\/ ]?(\d{3})[\.\-\/ ]?(\d{4})$/;
Teléfono
Teléfono
((
re = /^((\+\d{1,3}(-| )?\(?\d\)?(-| )?\d{1,5})|(\(?\d{2,6}\)?))(-| )?(\d{3,4})(-
) ( | )
})(
| )?(\d{4})(( x| ext)\d{1,5}){0,1}$/
} ) ))( | ) (
})|( (
{
}( | )
(
{
{
{
Acepta números de telefono locales (eg. 02 1234 5678 or 123 123 4567)
or el formato internacional (eg. +61 (0) 2 1234 5678 or +1 123 123 4567).
Tambien acepta una extensión opcional de hasta 5 dígitos of up to five
digits precedida por x o ext (eg 123 123 4567 x89)
digits precedida por x o ext (eg. 123 123 4567 x89).
Comentarios de: Expresiones Regulares (0)
No hay comentarios