SlideShare une entreprise Scribd logo
1  sur  4
EXPRESIONES REGULARES


DEFINICIÓN

Las expresiones regulares fueron introducidas por Kleene y son una notación alternativa
a las gramáticas lineales a la derecha para escribir lenguajes regulares. La razón de
estudiar esta notación viene dada por su adecuación a la construcción de analizadores
lexicográficos.

Las expresiones regulares son una serie de caracteres que forman un patrón,
normalmente representativo de otro grupo de carácteres mayor, de tal forma que
podemos comparar el patrón con otro conjunto de caracteres para ver las coincidencias.

Las expresiones regulares están disponibles en casi cualquier lenguaje de programación,
pero aunque su sintaxis es relativamente uniforme, cada lenguaje usa su propio dialecto.


Una expresión regular puede contener caracteres del alfabeto, pero dichos caracteres
tiene un significado diferente: en toda expresión regular, cada uno de los símbolos
indican patrones. Una expresión regular r puede contener caracteres que tiene
significados especiales, A esta clase de caracteres se les llaman metacaracteres o
metasímbolos.


METACARACTERES

Algunos caracteres en una expresión regular tienen un comportamiento específico. A
estos caracteres se los conoce como "metacaracteres".
DESCRIPCION DE ALGUNOS METACARACTERES DESTACADOS

   •   El punto "."

El punto se interpreta por el motor de búsqueda como "cualquier carácter", es decir,
busca cualquier carácter SIN incluir los saltos de línea.

Aunque el punto es muy útil para encontrar caracteres que no conocemos, es necesario
recordar que corresponde a cualquier carácter y que muchas veces esto no es lo que se
requiere. Es muy diferente buscar cualquier carácter que buscar cualquier carácter
alfanumérico o cualquier dígito o cualquier no-dígito o cualquier no-alfanumérico. Se
debe tomar esto en cuenta antes de utilizar el punto y obtener resultados no deseados.

   •   La barra inversa o contrabarra ""

Se utiliza para "marcar" el siguiente carácter de la expresión de búsqueda de forma que
este adquiera un significado especial o deje de tenerlo. O sea, la barra inversa no se
utiliza nunca por sí sola, sino en combinación con otros caracteres. Al utilizarlo por
ejemplo en combinación con el punto "." este deja de tener su significado normal y se
comporta como un carácter literal.

De la misma forma, cuando se coloca la barra inversa seguida de cualquiera de los
caracteres especiales que discutiremos a continuación, estos dejan de tener su
significado especial y se convierten en caracteres de búsqueda literal.



   •   Los corchetes "[ ]"
La función de los corchetes en el lenguaje de las expresiones regulares es representar
"clases de caracteres", o sea, agrupar caracteres en grupos o clases. Son útiles cuando es
necesario buscar uno de un grupo de caracteres. Dentro de los corchetes es posible
utilizar el guion "-" para especificar rangos de caracteres. Adicionalmente, los
metacaracteres pierden su significado y se convierten en literales cuando se encuentran
dentro de los corchetes.

    • La barra "|"
Sirve para indicar una de varias opciones.


   • El asterisco "*"

El asterisco sirve para encontrar algo que se encuentra repetido 0 o más veces.

   •   El signo de suma "+"

Se utiliza para encontrar una cadena que se encuentre repetida una o más veces




EXPRESIONES REGULARES EN LA PROGRAMACIÓN

En el área de la programación las expresiones regulares son un método por medio del
cual se pueden realizar búsquedas dentro de cadenas de caracteres. Sin importar si la
búsqueda requerida es de dos caracteres en una cadena de 10 o si es necesario encontrar
todas las apariciones de un patrón definido de caracteres en un archivo de millones de
caracteres, las expresiones regulares proporcionan una solución para el problema.
Adicionalmente, un uso derivado de la búsqueda de patrones es la validación de un
formato específico en una cadena de caracteres dada, como por ejemplo fechas o
identificadores. Para poder utilizar las expresiones regulares al programar es necesario
tener acceso a un motor de búsqueda con la capacidad de utilizarlas. Es posible
clasificar los motores disponibles en dos tipos: Motores para el programador y Motores
para el usuario final.

Cada Expresión regular denota un lenguaje .Para definir las expresiones regulares sobre
un vocabulario V, se utilizan las siguientes reglas:

1. £ es una E.R. que denota {£} (el lenguaje compuesto únicamente por la cadena
vacía).
2. Para cada a perteneciente a V, a es la E.R, que denota {a} (el lenguaje cuya única
cadena es a).
3. S¡ p y q son dos E.R. que denotan los lenguajes P y Q. respectivamente, entonces:
a
 ) (p) | (q) es una E-R que denota P U Q.
b) (p). (q|) es una E'R que denota P.Q.
c) (p)* es una E.R. que denota P*.
Cuando no se usan paréntesis, para evaluar una E.R. hay que tener en cuenta las
siguientes reglas de precedencia (de mayor a menor): “*” “’” “|”.


Algunos ejemplos para ilustrar:

   1.   La E.R. a* denota el lenguaje que contiene cadenas con cera o más símbolos
        «a».
   2.   a (a)* denota el lenguaje que contiene uno o más símbolos «a». También se
        puede Usar para denotar este lenguaje la notación a+ .
   3.   La E.R. (a | b)* denota el lenguaje que contiene todas las cadenas que se pueden
        formar con «a» y «b», incluida la cadena vacía.
   4.   La E.R. {a | b}* abb denota el conjunto de todas las cadenas compuestas por
        símbolos «a» y «b» y terminando siempre con abb.
   5.   La E.R. (a | b)(a | b) denota todas las cadenas de longitud dos, mientras que
        la E.R. ((a | b)(a | b))* denota todas las de longitud par.
   6.   La E.R. (a | b)(a | b)(a | b) denota las cadenas de longitud tres y (a | b)(a | b)(a | b)
        + denota las cadenas de longitud tres o más.
   7.   La E.R. (a | b)(a | b)(a | b) + | a | b denota las cadenas que no tienen longitud
        conocida




OPERACIONES CON EXPRESIONES REGULARES


Existen tres operaciones básicas en las expresiones regulares

   1) Selección entre alternativas, la cual se indica mediante el metacaracter | (barra
      vertical)
   2) Concatenación, que se indica mediante yuxtaposición (sin un metacaracter)
   3) Repetición o "cerradura", la cual se indica mediante el metacarácter *.
      Analizaremos cadauna por turno proporcionando la construcción del
      conjunto correspondiente para loslenguajes de cadenas concordantes

Contenu connexe

Tendances

ESPRESIONES REGULARES
ESPRESIONES REGULARESESPRESIONES REGULARES
ESPRESIONES REGULARESAnel Sosa
 
Expresiones regulares y gramáticas
Expresiones regulares y gramáticasExpresiones regulares y gramáticas
Expresiones regulares y gramáticasMaximo De Leon
 
S03.s1 - Material.pdf
S03.s1 - Material.pdfS03.s1 - Material.pdf
S03.s1 - Material.pdfJS Legendario
 
Automatas-Lenguajes1-1 (1).pdf
Automatas-Lenguajes1-1 (1).pdfAutomatas-Lenguajes1-1 (1).pdf
Automatas-Lenguajes1-1 (1).pdfRamosDiez
 
Expresiones Regulares y Gramáticas
Expresiones Regulares y GramáticasExpresiones Regulares y Gramáticas
Expresiones Regulares y GramáticasPaolaNovas
 
Gramática Libre de Contexto
Gramática Libre de ContextoGramática Libre de Contexto
Gramática Libre de ContextoBrayhan Acosta
 
LENGUAJES LIBRES DE CONTEXTO Y GRAMATICA LIBRES DE CONTEXTO
LENGUAJES LIBRES DE CONTEXTO Y GRAMATICA LIBRES DE CONTEXTO LENGUAJES LIBRES DE CONTEXTO Y GRAMATICA LIBRES DE CONTEXTO
LENGUAJES LIBRES DE CONTEXTO Y GRAMATICA LIBRES DE CONTEXTO Guillermo Iván Prisco Pérez
 
Lenguajes regulares
Lenguajes regularesLenguajes regulares
Lenguajes regularesKenia Adams
 
Expresiones regulares2.pdf
Expresiones regulares2.pdfExpresiones regulares2.pdf
Expresiones regulares2.pdfJeffreyagnz
 
Lenguajes libre de contexto
Lenguajes libre de contextoLenguajes libre de contexto
Lenguajes libre de contextoVerónica Es'Loo
 
Conceptos Unidad 1 Lenguajes Automatas Introducción a la Teoría de Lenguaje...
Conceptos Unidad 1 Lenguajes Automatas Introducción  a  la Teoría de Lenguaje...Conceptos Unidad 1 Lenguajes Automatas Introducción  a  la Teoría de Lenguaje...
Conceptos Unidad 1 Lenguajes Automatas Introducción a la Teoría de Lenguaje...Hugo Alberto Rivera Diaz
 

Tendances (20)

ESPRESIONES REGULARES
ESPRESIONES REGULARESESPRESIONES REGULARES
ESPRESIONES REGULARES
 
Tipos de lenguaje formal según Chomsky
Tipos de lenguaje formal según ChomskyTipos de lenguaje formal según Chomsky
Tipos de lenguaje formal según Chomsky
 
Expresiones regulares y gramáticas
Expresiones regulares y gramáticasExpresiones regulares y gramáticas
Expresiones regulares y gramáticas
 
S03.s1 - Material.pdf
S03.s1 - Material.pdfS03.s1 - Material.pdf
S03.s1 - Material.pdf
 
Automatas-Lenguajes1-1 (1).pdf
Automatas-Lenguajes1-1 (1).pdfAutomatas-Lenguajes1-1 (1).pdf
Automatas-Lenguajes1-1 (1).pdf
 
Expresiones regulares
Expresiones regularesExpresiones regulares
Expresiones regulares
 
Expresiones Regulares y Gramáticas
Expresiones Regulares y GramáticasExpresiones Regulares y Gramáticas
Expresiones Regulares y Gramáticas
 
Gramática Libre de Contexto
Gramática Libre de ContextoGramática Libre de Contexto
Gramática Libre de Contexto
 
Expresiones Regulares
Expresiones RegularesExpresiones Regulares
Expresiones Regulares
 
LENGUAJES LIBRES DE CONTEXTO Y GRAMATICA LIBRES DE CONTEXTO
LENGUAJES LIBRES DE CONTEXTO Y GRAMATICA LIBRES DE CONTEXTO LENGUAJES LIBRES DE CONTEXTO Y GRAMATICA LIBRES DE CONTEXTO
LENGUAJES LIBRES DE CONTEXTO Y GRAMATICA LIBRES DE CONTEXTO
 
Expresiones regulares y gramáticas
Expresiones regulares y gramáticasExpresiones regulares y gramáticas
Expresiones regulares y gramáticas
 
Lenguajes regulares
Lenguajes regularesLenguajes regulares
Lenguajes regulares
 
Gramáticas formales
Gramáticas formales Gramáticas formales
Gramáticas formales
 
Expresiones regulares2.pdf
Expresiones regulares2.pdfExpresiones regulares2.pdf
Expresiones regulares2.pdf
 
Jerarquia de chomsky
Jerarquia de chomskyJerarquia de chomsky
Jerarquia de chomsky
 
Unidad 2 expresiones regulares
Unidad 2 expresiones regularesUnidad 2 expresiones regulares
Unidad 2 expresiones regulares
 
Lenguajes libre de contexto
Lenguajes libre de contextoLenguajes libre de contexto
Lenguajes libre de contexto
 
GRAMATICAS AMBIGUAS
GRAMATICAS AMBIGUASGRAMATICAS AMBIGUAS
GRAMATICAS AMBIGUAS
 
Unidad 7 lenguajes gramaticas y automatas
Unidad 7 lenguajes gramaticas y automatasUnidad 7 lenguajes gramaticas y automatas
Unidad 7 lenguajes gramaticas y automatas
 
Conceptos Unidad 1 Lenguajes Automatas Introducción a la Teoría de Lenguaje...
Conceptos Unidad 1 Lenguajes Automatas Introducción  a  la Teoría de Lenguaje...Conceptos Unidad 1 Lenguajes Automatas Introducción  a  la Teoría de Lenguaje...
Conceptos Unidad 1 Lenguajes Automatas Introducción a la Teoría de Lenguaje...
 

En vedette

JugendUnternimmt Kurzpraesentation
JugendUnternimmt KurzpraesentationJugendUnternimmt Kurzpraesentation
JugendUnternimmt KurzpraesentationJugendUnternimmt
 
Fotofrafo Picchio portafolio completo
Fotofrafo Picchio portafolio completoFotofrafo Picchio portafolio completo
Fotofrafo Picchio portafolio completoGURU ABCM
 
UTE PROBLEMAS FRECUENTES DEL DESARROLLO: APEGO Y ANSIEDAD
UTE PROBLEMAS FRECUENTES DEL DESARROLLO: APEGO YANSIEDADUTE PROBLEMAS FRECUENTES DEL DESARROLLO: APEGO YANSIEDAD
UTE PROBLEMAS FRECUENTES DEL DESARROLLO: APEGO Y ANSIEDADLiliana Quillupangui
 
IT-Rechtliche Anforderungen - Haftungsfallen für Unternehmen
IT-Rechtliche Anforderungen - Haftungsfallen für UnternehmenIT-Rechtliche Anforderungen - Haftungsfallen für Unternehmen
IT-Rechtliche Anforderungen - Haftungsfallen für UnternehmenStephan Schmidt
 
Institucion educativa jesus de la buena esperanza
Institucion  educativa jesus de la buena esperanzaInstitucion  educativa jesus de la buena esperanza
Institucion educativa jesus de la buena esperanzaRudy Jesus Perez Buelvas
 
Ideenwettbewerb "konzept m+b" 2012
Ideenwettbewerb "konzept m+b" 2012Ideenwettbewerb "konzept m+b" 2012
Ideenwettbewerb "konzept m+b" 2012Björn Friedrich
 
Die rechtlichen Rahmenbedingungen von BYOD
Die rechtlichen Rahmenbedingungen von BYODDie rechtlichen Rahmenbedingungen von BYOD
Die rechtlichen Rahmenbedingungen von BYODStephan Schmidt
 
Valorous genussschein vortrag 2011 v10
Valorous genussschein vortrag 2011 v10Valorous genussschein vortrag 2011 v10
Valorous genussschein vortrag 2011 v10Walter Grimm
 
Terra chile presentacion institucional
Terra chile presentacion institucionalTerra chile presentacion institucional
Terra chile presentacion institucionalterrachile
 
MapKit vs. Google Maps SDK @ Macoun 2014
MapKit vs. Google Maps SDK @ Macoun 2014MapKit vs. Google Maps SDK @ Macoun 2014
MapKit vs. Google Maps SDK @ Macoun 2014Ortwin Gentz
 
Neue Konzepte für eine lesernahe Kommunalpolitik
Neue Konzepte für eine lesernahe KommunalpolitikNeue Konzepte für eine lesernahe Kommunalpolitik
Neue Konzepte für eine lesernahe KommunalpolitikGutes Lokales
 
Plan de institucion educativa carlos castro saavedra
Plan de  institucion educativa carlos castro saavedraPlan de  institucion educativa carlos castro saavedra
Plan de institucion educativa carlos castro saavedraRudy Jesus Perez Buelvas
 

En vedette (20)

JugendUnternimmt Kurzpraesentation
JugendUnternimmt KurzpraesentationJugendUnternimmt Kurzpraesentation
JugendUnternimmt Kurzpraesentation
 
Ceb 6 aegtqa
Ceb 6 aegtqaCeb 6 aegtqa
Ceb 6 aegtqa
 
Unidad iv y v.
Unidad iv y v.Unidad iv y v.
Unidad iv y v.
 
Fotofrafo Picchio portafolio completo
Fotofrafo Picchio portafolio completoFotofrafo Picchio portafolio completo
Fotofrafo Picchio portafolio completo
 
UTE PROBLEMAS FRECUENTES DEL DESARROLLO: APEGO Y ANSIEDAD
UTE PROBLEMAS FRECUENTES DEL DESARROLLO: APEGO YANSIEDADUTE PROBLEMAS FRECUENTES DEL DESARROLLO: APEGO YANSIEDAD
UTE PROBLEMAS FRECUENTES DEL DESARROLLO: APEGO Y ANSIEDAD
 
Adriana escalona
Adriana escalonaAdriana escalona
Adriana escalona
 
IT-Rechtliche Anforderungen - Haftungsfallen für Unternehmen
IT-Rechtliche Anforderungen - Haftungsfallen für UnternehmenIT-Rechtliche Anforderungen - Haftungsfallen für Unternehmen
IT-Rechtliche Anforderungen - Haftungsfallen für Unternehmen
 
Planificacion blog 4°
Planificacion blog 4°Planificacion blog 4°
Planificacion blog 4°
 
Institucion educativa jesus de la buena esperanza
Institucion  educativa jesus de la buena esperanzaInstitucion  educativa jesus de la buena esperanza
Institucion educativa jesus de la buena esperanza
 
Ideenwettbewerb "konzept m+b" 2012
Ideenwettbewerb "konzept m+b" 2012Ideenwettbewerb "konzept m+b" 2012
Ideenwettbewerb "konzept m+b" 2012
 
El fuego
El fuegoEl fuego
El fuego
 
Die rechtlichen Rahmenbedingungen von BYOD
Die rechtlichen Rahmenbedingungen von BYODDie rechtlichen Rahmenbedingungen von BYOD
Die rechtlichen Rahmenbedingungen von BYOD
 
Sessió 5_IES NÚM.1 XÀBIA
Sessió 5_IES NÚM.1 XÀBIASessió 5_IES NÚM.1 XÀBIA
Sessió 5_IES NÚM.1 XÀBIA
 
Valorous genussschein vortrag 2011 v10
Valorous genussschein vortrag 2011 v10Valorous genussschein vortrag 2011 v10
Valorous genussschein vortrag 2011 v10
 
Biohort Katalog 2011
Biohort Katalog 2011Biohort Katalog 2011
Biohort Katalog 2011
 
Terra chile presentacion institucional
Terra chile presentacion institucionalTerra chile presentacion institucional
Terra chile presentacion institucional
 
MapKit vs. Google Maps SDK @ Macoun 2014
MapKit vs. Google Maps SDK @ Macoun 2014MapKit vs. Google Maps SDK @ Macoun 2014
MapKit vs. Google Maps SDK @ Macoun 2014
 
Neue Konzepte für eine lesernahe Kommunalpolitik
Neue Konzepte für eine lesernahe KommunalpolitikNeue Konzepte für eine lesernahe Kommunalpolitik
Neue Konzepte für eine lesernahe Kommunalpolitik
 
Las coplas del_ingeniero4
Las coplas del_ingeniero4Las coplas del_ingeniero4
Las coplas del_ingeniero4
 
Plan de institucion educativa carlos castro saavedra
Plan de  institucion educativa carlos castro saavedraPlan de  institucion educativa carlos castro saavedra
Plan de institucion educativa carlos castro saavedra
 

Similaire à Expresiones regulares: guía completa de metacaracteres y operaciones

Similaire à Expresiones regulares: guía completa de metacaracteres y operaciones (20)

Analizador LÉxico
Analizador LÉxicoAnalizador LÉxico
Analizador LÉxico
 
Representaciones estructurales
Representaciones estructuralesRepresentaciones estructurales
Representaciones estructurales
 
Analisis sintactico
Analisis sintacticoAnalisis sintactico
Analisis sintactico
 
Clase 05-expresiones-regulares
Clase 05-expresiones-regularesClase 05-expresiones-regulares
Clase 05-expresiones-regulares
 
Analisis Lexico
Analisis LexicoAnalisis Lexico
Analisis Lexico
 
Automatas y compiladores clase2
Automatas y compiladores clase2Automatas y compiladores clase2
Automatas y compiladores clase2
 
Compiladores1
Compiladores1Compiladores1
Compiladores1
 
Gramaticas
GramaticasGramaticas
Gramaticas
 
AnáLisis LéXico
AnáLisis LéXicoAnáLisis LéXico
AnáLisis LéXico
 
Expresiones regulares y grámaticas regulares ariel acosta
Expresiones regulares y grámaticas regulares ariel acosta Expresiones regulares y grámaticas regulares ariel acosta
Expresiones regulares y grámaticas regulares ariel acosta
 
Clase2
Clase2Clase2
Clase2
 
Analisis lexico 2
Analisis lexico 2Analisis lexico 2
Analisis lexico 2
 
Lenin herrera
Lenin herreraLenin herrera
Lenin herrera
 
Caracteres y cadenas en C
Caracteres y cadenas en CCaracteres y cadenas en C
Caracteres y cadenas en C
 
CARACTERES Y CADENAS LENGUAJE C
CARACTERES Y CADENAS LENGUAJE CCARACTERES Y CADENAS LENGUAJE C
CARACTERES Y CADENAS LENGUAJE C
 
Caracteres y Cadenas en C
Caracteres y Cadenas en CCaracteres y Cadenas en C
Caracteres y Cadenas en C
 
14 Caracteres Y Cadenas
14 Caracteres Y Cadenas14 Caracteres Y Cadenas
14 Caracteres Y Cadenas
 
Clase 10 expresiones regulares
Clase 10 expresiones regularesClase 10 expresiones regulares
Clase 10 expresiones regulares
 
Compilador2
Compilador2Compilador2
Compilador2
 
Lizbeth...
Lizbeth...Lizbeth...
Lizbeth...
 

Expresiones regulares: guía completa de metacaracteres y operaciones

  • 1. EXPRESIONES REGULARES DEFINICIÓN Las expresiones regulares fueron introducidas por Kleene y son una notación alternativa a las gramáticas lineales a la derecha para escribir lenguajes regulares. La razón de estudiar esta notación viene dada por su adecuación a la construcción de analizadores lexicográficos. Las expresiones regulares son una serie de caracteres que forman un patrón, normalmente representativo de otro grupo de carácteres mayor, de tal forma que podemos comparar el patrón con otro conjunto de caracteres para ver las coincidencias. Las expresiones regulares están disponibles en casi cualquier lenguaje de programación, pero aunque su sintaxis es relativamente uniforme, cada lenguaje usa su propio dialecto. Una expresión regular puede contener caracteres del alfabeto, pero dichos caracteres tiene un significado diferente: en toda expresión regular, cada uno de los símbolos indican patrones. Una expresión regular r puede contener caracteres que tiene significados especiales, A esta clase de caracteres se les llaman metacaracteres o metasímbolos. METACARACTERES Algunos caracteres en una expresión regular tienen un comportamiento específico. A estos caracteres se los conoce como "metacaracteres".
  • 2. DESCRIPCION DE ALGUNOS METACARACTERES DESTACADOS • El punto "." El punto se interpreta por el motor de búsqueda como "cualquier carácter", es decir, busca cualquier carácter SIN incluir los saltos de línea. Aunque el punto es muy útil para encontrar caracteres que no conocemos, es necesario recordar que corresponde a cualquier carácter y que muchas veces esto no es lo que se requiere. Es muy diferente buscar cualquier carácter que buscar cualquier carácter alfanumérico o cualquier dígito o cualquier no-dígito o cualquier no-alfanumérico. Se debe tomar esto en cuenta antes de utilizar el punto y obtener resultados no deseados. • La barra inversa o contrabarra "" Se utiliza para "marcar" el siguiente carácter de la expresión de búsqueda de forma que este adquiera un significado especial o deje de tenerlo. O sea, la barra inversa no se utiliza nunca por sí sola, sino en combinación con otros caracteres. Al utilizarlo por ejemplo en combinación con el punto "." este deja de tener su significado normal y se comporta como un carácter literal. De la misma forma, cuando se coloca la barra inversa seguida de cualquiera de los caracteres especiales que discutiremos a continuación, estos dejan de tener su significado especial y se convierten en caracteres de búsqueda literal. • Los corchetes "[ ]"
  • 3. La función de los corchetes en el lenguaje de las expresiones regulares es representar "clases de caracteres", o sea, agrupar caracteres en grupos o clases. Son útiles cuando es necesario buscar uno de un grupo de caracteres. Dentro de los corchetes es posible utilizar el guion "-" para especificar rangos de caracteres. Adicionalmente, los metacaracteres pierden su significado y se convierten en literales cuando se encuentran dentro de los corchetes. • La barra "|" Sirve para indicar una de varias opciones. • El asterisco "*" El asterisco sirve para encontrar algo que se encuentra repetido 0 o más veces. • El signo de suma "+" Se utiliza para encontrar una cadena que se encuentre repetida una o más veces EXPRESIONES REGULARES EN LA PROGRAMACIÓN En el área de la programación las expresiones regulares son un método por medio del cual se pueden realizar búsquedas dentro de cadenas de caracteres. Sin importar si la búsqueda requerida es de dos caracteres en una cadena de 10 o si es necesario encontrar todas las apariciones de un patrón definido de caracteres en un archivo de millones de caracteres, las expresiones regulares proporcionan una solución para el problema. Adicionalmente, un uso derivado de la búsqueda de patrones es la validación de un formato específico en una cadena de caracteres dada, como por ejemplo fechas o identificadores. Para poder utilizar las expresiones regulares al programar es necesario tener acceso a un motor de búsqueda con la capacidad de utilizarlas. Es posible clasificar los motores disponibles en dos tipos: Motores para el programador y Motores para el usuario final. Cada Expresión regular denota un lenguaje .Para definir las expresiones regulares sobre un vocabulario V, se utilizan las siguientes reglas: 1. £ es una E.R. que denota {£} (el lenguaje compuesto únicamente por la cadena vacía). 2. Para cada a perteneciente a V, a es la E.R, que denota {a} (el lenguaje cuya única cadena es a). 3. S¡ p y q son dos E.R. que denotan los lenguajes P y Q. respectivamente, entonces: a ) (p) | (q) es una E-R que denota P U Q. b) (p). (q|) es una E'R que denota P.Q. c) (p)* es una E.R. que denota P*.
  • 4. Cuando no se usan paréntesis, para evaluar una E.R. hay que tener en cuenta las siguientes reglas de precedencia (de mayor a menor): “*” “’” “|”. Algunos ejemplos para ilustrar: 1. La E.R. a* denota el lenguaje que contiene cadenas con cera o más símbolos «a». 2. a (a)* denota el lenguaje que contiene uno o más símbolos «a». También se puede Usar para denotar este lenguaje la notación a+ . 3. La E.R. (a | b)* denota el lenguaje que contiene todas las cadenas que se pueden formar con «a» y «b», incluida la cadena vacía. 4. La E.R. {a | b}* abb denota el conjunto de todas las cadenas compuestas por símbolos «a» y «b» y terminando siempre con abb. 5. La E.R. (a | b)(a | b) denota todas las cadenas de longitud dos, mientras que la E.R. ((a | b)(a | b))* denota todas las de longitud par. 6. La E.R. (a | b)(a | b)(a | b) denota las cadenas de longitud tres y (a | b)(a | b)(a | b) + denota las cadenas de longitud tres o más. 7. La E.R. (a | b)(a | b)(a | b) + | a | b denota las cadenas que no tienen longitud conocida OPERACIONES CON EXPRESIONES REGULARES Existen tres operaciones básicas en las expresiones regulares 1) Selección entre alternativas, la cual se indica mediante el metacaracter | (barra vertical) 2) Concatenación, que se indica mediante yuxtaposición (sin un metacaracter) 3) Repetición o "cerradura", la cual se indica mediante el metacarácter *. Analizaremos cadauna por turno proporcionando la construcción del conjunto correspondiente para loslenguajes de cadenas concordantes