Loading presentation...

Present Remotely

Send the link below via email or IM

Copy

Present to your audience

Start remote presentation

  • Invited audience members will follow you as you navigate and present
  • People invited to a presentation do not need a Prezi account
  • This link expires 10 minutes after you close the presentation
  • A maximum of 30 users can follow your presentation
  • Learn more about this feature in our knowledge base article

Do you really want to delete this prezi?

Neither you, nor the coeditors you shared it with will be able to recover it again.

DeleteCancel

Make your likes visible on Facebook?

Connect your Facebook account to Prezi and let your likes appear on your timeline.
You can change this under Settings & Account at any time.

No, thanks

EXPRESIONES REGULARES

No description
by

Martha Sánchez

on 30 August 2013

Comments (0)

Please log in to add your comment.

Report abuse

Transcript of EXPRESIONES REGULARES

EXPRESIONES REGULARES
Definición formal de una ER
Una expresión regular, es un patrón que describe una cadena de caracteres, esta descripción no enumera a ningún elemento. Es una manera de representar a los lenguajes regulares utilizando caracteres del alfabeto sobre el cual se define el lenguaje.
Específicamente, las expresiones regulares se construyen utilizando los operadores unión, concatenación. Además cada expresión regular tiene un autómata finito asociado.

Operaciones
Ofrecen algo que los autómatas no:
*Manera declarativa de expresar las cadenas que queremos aceptar.

Aplicaciones en problemas reales
Facilitar la construcción de un compilador.

Validar la sintaxis de un programa

Algunos generadores lexicográficos toman como entrada una sucesión de expresiones regulares y producen un autómata finito que reconozca cualquier expresión ahí descrita.

2.1. Definición formal de una ER
2.2. Operaciones
2.3. Aplicaciones en
problemas reales.

CARACTERÍSTICAS
Alternación
Una barra vertical separa las alternativas. Por ejemplo, "marrón|castaño" se corresponde con marrón o castaño.

Cuantificación
Un cuantificador tras un carácter especifica la frecuencia con la que éste puede ocurrir. Los cuantificadores más comunes son +, ? y *:

+
El signo más indica que el carácter que le precede debe aparecer al menos una vez. Por ejemplo, "ho+la" describe el conjunto infinito hola, hoola, hooola, hoooola, etcétera.

?
El signo de interrogación indica que el carácter que le precede puede aparecer como mucho una vez. Por ejemplo, "ob?scuro" se corresponde con oscuro y obscuro.

*
El asterisco indica que el carácter que le precede puede aparecer cero, una, o más veces. Por ejemplo, "0*42" se corresponde con 42, 042, 0042, 00042, etcétera.

$
El signo de pesos indica el final de una línea.

^
El signo de exponencial indica el comienzo de una línea.

[ ]
Agrupa caracteres en grupos o clases.
Agrupación
Los paréntesis pueden usarse para definir el ámbito y precedencia de los demás operadores. Por ejemplo, "(p|m)adre" es lo mismo que "padre|madre", y "(des)?amor" se corresponde con amor y con desamor.
{ }
Encuentra coincidencia si hay exactamente n apariciones del carácter que precede.

Ejemplos
1. a(ab)+
Alfabeto: {a,b}
2. (ab | ba)+
Alfabeto: {a,b}
3. a*b | ab*
Alfabeto: {a,b}
Tipos
Unión o alternativa
Si a y b son expresiones regulares, a| b es una expresión regular tal que:
{a y b} = a | b, es decir que puede aparecer o no indistintamente.

Símbolo: |


Concatenación

Si a y b son expresiones regulares, ab es una expresión regular tal que:
{ a y b } = { a } { b } Es decir se unen dos expresiones regulares distintas.

Símbolo: .

Cierre u operación estrella.
Si a es una expresión regular, entonces a* es una expresión regular que denota { a }*. Es decir que denota las cadenas:
a
a a
a a a… a
Es decir puede no venir por lo cual sería un conjunto vacío o venir repetidamente

Símbolo: *

Cierre positivo
Si a es una expresión regular, entonces a+ es una expresión regular que denota { a }+.
 
Es decir denota las cadenas:
a
a a
a a a… a
Símbolo: +

Algunos editores de texto y programas similares permiten la substitución de una cadena por otra cualquiera que cumpla con la expresión regular dada.
Correctores ortográficos.
Para encontrar patrones en el genoma humano.

**
Validar una URL
/^(https?://)?([da-z.-]+).([a-z.]{2,6})([/w ?=.-]*)*/?$/
Validar un Email
^[_a-z0-9-]+(.[_a-z0-9-]+)*@[a-z0-9-]+(.[a-z0-9-]+)*(.[a-z]{2,3})$
Comprobar la seguridad de una contraseña
(?=^.{8,}$)((?=.*d)|(?=.*W+))(?![.n])(?=.*[A-Z])(?=.*[a-z]).*$

**
Validar un número de teléfono
^+?d{1,3}?[- .]?(?(?:d{2,3}))?[- .]?ddd[- .]?dddd$
Validar número de la tarjeta de crédito
^((67d{2})|(4d{3})|(5[1-5]d{2})|(6011))(-?s?d{4}){3}|(3[4,7]) d{2}-?s?d{6}-?s?d{5}$  
Recoger el ID de un vídeo de Youtube
/http://(?:youtu.be/|(?:[a-z]{2,3}.)?youtube.com/watch(?:?|#!)v=)([w-]{11}).*/gi  
Validar código postal
^([1-9]{2}|[0-9][1-9]|[1-9][0-9])[0-9]{3}$

Para desarrollo de aplicaciones WEB
Full transcript