PDF de programación - JavaScript: Expresiones regulares

Imágen de pdf JavaScript: Expresiones regulares

JavaScript: Expresiones regularesgráfica de visualizaciones

Publicado el 24 de Junio del 2017
970 visualizaciones desde el 24 de Junio del 2017
58,2 KB
9 paginas
Creado hace 14a (21/10/2009)
Programación en Internet 2009-2010

Departamento de Lenguajes y
Sistemas Informáticos

JavaScript:
i

E
Expresiones regulares

l

Programación en Internet

Curso 2009-2010

Programación en Internet – Curso 2009-2010

Algunas personas cuando se enfrentan a

un problema piensan "Ya sé, ¡usaré
expresiones regulares!"

Ahora tienen dos problemas.

Jamie Zawinski programador de Netscape Navigator 1 1
Jamie Zawinski, programador de Netscape Navigator 1.1

DLSI - Universidad de Alicante

1

Programación en Internet 2009-2010

Programación en Internet – Curso 2009-2010

Índice

• Introducción
• Expresiones regulares en JavaScript
• Ejemplos

Programación en Internet – Curso 2009-2010

Introducción

• Una expresión regular es un patrón que se
emplea para compararlo con un grupo de
caracteres

d

l

l

• Según la Wikipedia:

– Una expresión regular, a menudo llamada

también patrón, es una expresión que describe un
conjunto de cadenas sin enumerar sus elementos
conjunto de cadenas sin enumerar sus elementos.
Por ejemplo, el grupo formado por las cadenas
Handel, Händel y Haendel se describe mediante
el patrón "H(a|ä|ae)ndel".

DLSI - Universidad de Alicante

2

Programación en Internet 2009-2010

Programación en Internet – Curso 2009-2010

Introducción

• Las expresiones regulares se pueden

l

emplear en:
– Comandos de sistemas operativos, como sed y

grep en Linux

– Editores de texto como emacs
– Lenguajes de programación, de forma nativa

,

como JavaScript, PHP, awk y Perl, o a través de
librerías como Java o .NET

p ,

y

,

• Básicamente, existen dos estilos de

expresiones regulares que en algunos
aspectos son iguales

Programación en Internet – Curso 2009-2010

Introducción

Una expresión regular es un patrón que
puede estar formado por un conjunto de
puede estar formado por un conjunto de
caracteres (letras, números o signos) y
por un conjunto de metacaracteres que
representan otros caracteres o que
indican la forma de combinar los
caracteres

Los metacaracteres reciben este nombre
Los metacaracteres reciben este nombre
porque no se representan a ellos mismos,
sino que son interpretados de una manera
especial

DLSI - Universidad de Alicante

3

Programación en Internet 2009-2010

Programación en Internet – Curso 2009-2010

Introducción

Los metacaracteres más usados son:

* ? + [ ] ( ) { } ^ $ |
. ? + [ ] ( ) { } ^ $ |

^: Sirve para indicar que el patrón que lo acompaña esta al

principio de la cadena.

$: Indica que el patrón esta al final de una cadena.
.: Representa cualquier carácter.
*: El patrón que lo precede se repite 0 o mas veces.
?: El patrón se repite 0 o 1 vez.
?: El patrón se repite 0 o 1 vez.
+: El patrón se repite 1 o mas veces.
{x,y}: El patrón se repite un mínimo de x veces y un máximo

de y.

|: Sirve para alternar expresiones.

Programación en Internet – Curso 2009-2010

Introducción

Los corchetes [] incluidos en un patrón permiten especificar el rango

de caracteres válidos a comparar.

[abc] // El patrón coincide con la cadena si en esta hay
// cualquiera de estos tres carácteres: a, b, c

[a-c] // Coincide si existe una letra en el rango ("a", "b" o "c")

c[ao]sa // Coincide con casa y con cosa

[^abc] // El patrón coincide con la cadena si en esta NO hay ninguno
[^abc] // El patrón coincide con la cadena si en esta NO hay ninguno
// de estos tres carácteres: a, b, c.
// Nota que el signo ^ aquí tiene un valor excluyente

[0-9] // Coincide con una cadena que contenga cualquier
// número entre el 0 y el 9

DLSI - Universidad de Alicante

4

Programación en Internet 2009-2010

Programación en Internet – Curso 2009-2010

Introducción

(): Los paréntesis sirven para agrupar
(): Los paréntesis sirven para agrupar
expresiones regulares.

|: Sirve para alternar expresiones. Por ejemplo:

(la|el): coincide si esta presente la o el.

Para escapar caracteres especiales debemos
usar la clásica barra invertida ‘\’ Por ejemplo si
usar la clásica barra invertida \ . Por ejemplo si
buscamos 100$, pondríamos 100\$, ya que si
pusiéramos 100$ buscaría un 100 a final de
cadena.

Programación en Internet – Curso 2009-2010

Patrón

Significado

.
^c
c$
c+
c*
c?
\n
\t

\

(cd)
c|d
c{n}
c{n,}
c{n,m}

cualquier carácter (excepto \n y \r)

empezar por el carácter c
terminar por el carácter c

1 o más caracteres c
0 o más caracteres c

0 o 1 caracteres c

nueva línea
tabulador

escape, para escribir delante de caracteres

especiales: ^ . [ ] % ( ) | * ? { } \

caracteres c y d agrupados

carácter c o d

n veces el carácter c
n o más caracteres c

desde n hasta m caracteres c

DLSI - Universidad de Alicante

5

Programación en Internet 2009-2010

Programación en Internet – Curso 2009-2010

Patrón
[a-z]
[A-Z]
[0-9]
[cde]

[c-f]
[c-f]

[^c]

\w

\W

\d

\D
\D

\s
\S

\b

\B

Significado

cualquier letra minúscula
cualquier letra mayúscula

cualquier dígito

cualquiera de los caracteres c, d o e

cualquier letra entre c y f (es decir c d e o f)
cualquier letra entre c y f (es decir, c, d, e o f)

que no esté el carácter c

cualquier letra o dígito o subrayado (pero no vocales

acentuadas, ñ, ç, etc.)

lo contrario de \w

cualquier dígito

lo contrario de \d
lo contrario de \d

cualquier espacio en blanco

lo contrario de \s

busca un emparejamiento a partir de un límite de

palabra

busca un emparejamiento cuando no es un límite de

palabra

Programación en Internet – Curso 2009-2010

Expresiones regulares en

JavaScript

• Podemos crear una ER de dos formas:
/* Permite crear expresiones regulares en tiempo

de ejecución */

var txt=new RegExp(pattern,attributes);

/* Crea expresiones regulares estáticas, no se

pueden modificar durante la ejecución */

var txt=/pattern/attributes;
;

/p

/

DLSI - Universidad de Alicante

6

Programación en Internet 2009-2010

Programación en Internet – Curso 2009-2010

Expresiones regulares en

JavaScript

• Los atributos son:
d

Si

t

i



ti

– m: Si nuestra cadena contiene varias líneas físicas
(\n) respeta esos saltos de línea, lo que significa,
por ejemplo, que las anclas ^ $ no se aplican al
principio y final de la cadena, sino al principio y
final de cada línea.

– i: Se confronta el patrón con la cadena ignorando

fí i

mayusculas y minúsculas.

i ú

l

l

– g: Realiza una búsqueda global, no se detiene en

la primera ocurrencia que encuentra.

Programación en Internet – Curso 2009-2010

Expresiones regulares en

JavaScript

• Métodos del objeto RegExp:

– compile(): cambia la expresión regular
del objeto
– exec(): busca la ER, devuelve el valor
encontrado y recuerda la posición
– test(): busca la ER, devuelve true o
false

DLSI - Universidad de Alicante

7

Programación en Internet 2009-2010

Programación en Internet – Curso 2009-2010

Expresiones regulares en

JavaScript

• Además, el objeto String tiene unos

ét d
métodos que admiten ER:
ER
– search(): busca en una cadena la ER, devuelve

d it

la posición

– match(): busca en una cadena la ER, devuelve

un array con los valores emparejados

– replace(): sustituye unos caracteres por otros

p

y

p

()
caracteres

cadenas

– split(): divide una cadena en un array de

Programación en Internet – Curso 2009-2010

Ejemplos

• Valida una matrícula moderna:
function validaMatricula() {
function validaMatricula() {

var mat = document.getElementById("matricula").value;

var ex1 = new RegExp("^[0-9]{4} [A-Z]{3}$");
var ex2 = /^[0-9]{4} [A-Z]{3}$/;

if(ex1.test(mat))

alert("Ok");

else
else

alert("Error");

if(ex2.test(mat))

alert("Ok");

else

alert("Error");

}

DLSI - Universidad de Alicante

8

Programación en Internet 2009-2010

Programación en Internet – Curso 2009-2010

Ejemplos
• Valida una fecha (sólo el formato):
function validaFecha() {
function validaFecha() {

var fec = document.getElementById("fecha").value;

var ex1 = new RegExp("^(0?[1-9]|[12][0-9]|3[01])\/(0?[1-
9]|1[012])\/[0-9]{1,2}$");
var ex2 = /^(0?[1-9]|[12][0-9]|3[01])\/(0?[1-9]|1[012])\/[0-
9]{1,2}$/;

if(ex1.test(fec))

alert("Ok");

else

alert("Error");

if(ex2.test(fec))

alert("Ok");

else

alert("Error");

}

DLSI - Universidad de Alicante

9
  • Links de descarga
http://lwp-l.com/pdf4598

Comentarios de: JavaScript: Expresiones regulares (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad