Documente Academic
Documente Profesional
Documente Cultură
Introduccin ...............................................................................................................................................1
2.1 Definicin formal de una ER. ...........................................................................................................2
2.2 Operaciones ....................................................................................................................................4
2.3 Aplicaciones en problemas reales ...................................................................................................7
Conclusin ..................................................................................................................................................9
Referencias bibliogrficas...........................................................................................................................10
Introduccin
En esta investigacin dar a conocer la definicin de las expresiones regulares, sus operaciones y sus
aplicaciones en problemas reales.
Para empezar, una expresin regular describe una o ms cadenas que deben coincidir al buscar en un cuerpo
de texto. La expresin acta como un modelo de caracteres que se compara con el texto que se busca. Es
posible usar expresiones regulares para buscar modelos en una cadena, reemplazar texto y extraer
subcadenas.
Las expresiones regulares estn disponibles en casi cualquier lenguaje de programacin, pero aunque su
sintaxis es relativamente uniforme, cada lenguaje usa su propio dialecto.
Si es la primera vez que te acercas al concepto de expresiones regulares (regex para abreviar) te animar
saber que seguro que ya las has usado, an sin saberlo, al menos en su vertiente ms bsica. Por ejemplo,
cuando en una ventana ejecutamos dir *.* para obtener un listado de todos los archivos de un directorio,
estamos utilizando el concepto de expresiones regulares, donde el patrn * coincide con cualquier cadena de
caracteres.
Una expresin regular r puede contener caracteres que tengan significados especiales (metacaracteres o
metasmbolos)
Expresiones regulares bsicas: Son los caracteres simples del alfabeto, los cuales se corresponden a s mismos.
Dado cualquier carcter a del alfabeto , la expresin regular a corresponde al carcter a escribiendo
L(a) = {a}.
Un smbolo que indica una concordancia con la cadena vaca, se utiliza el smbolo para denotar la
cadena vaca establecido L() ={}
Un smbolo ms que corresponde a la ausencia de cadenas, cuyo lenguaje sea el conjunto vaco,
escrito como { }, se utiliza y se denota L() = { }.
2.2. Operaciones
Existen tres operaciones bsicas en las expresiones regulares:
Seleccin entre alternativas, la cual se indica mediante el metacarcter |
Concatenacin, que se indica mediante yuxtaposicin (sin un metacarcter)
Repeticin o cerradura, la cual se indica mediante el metacarcter *.
Seleccin entre alternativas. Si r y s son expresiones regulares, entonces r|s es una expresin regular que
define cualquier cadena que concuerda con r o con s.
El lenguaje r|s es la unin de los lenguajes de r y s, o L(r|s) = L(r) L(s).
Considere la expresin regular a|b: corresponde tanto al carcter a como al carcter b,
L(a|b)=L(a)L(b)={a} {b} = {a,b}.
La seleccin se puede extender a ms de una alternativa, L(a|b|c|d) ={a,b,c,d}.
Por ejemplo: la expresin regular ab corresponde slo a la cadena ab, mientras que la expresin regular (a|b)c
corresponde a las cadenas ac y bc.
Dados dos conjuntos de cadenas S1 y S2, el conjunto concatenado de cadenas S1S2 es el conjunto de cadenas
de S1 complementado con todas las cadenas de S2.
Si S1={aa,b} y S2={a,bb}, entonces S1S2={aaa,aabb,ba,bbb}.
La operacin de concatenacin para expresiones regulares se puede definir como L(rs)=L(r)L(s).
La concatenacin se puede extender a ms de dos expresiones regulares: L(r1,r2,rn)=L(r1)L(r2)L(rn)=el
conjunto de cadenas formado al concatenar todas las cadenas de cada una de las L(r1),,L(rn).
Repeticin. Denominada tambin como cerradura, se escribe r*, donde r es una expresin regular. La
expresin regular r* corresponde a cualquier concatenacin finita de cadenas, cada una de las cuales
corresponde a r.
Por ejemplo a* corresponde a las cadenas , a, aa, aaa,
Se puede definir la operacin de repeticin en trminos de lenguajes generados definiendo, una operacin
similar * para conjuntos de cadenas. Dado un conjunto S de cadenas, sea:
= {}
Esta es una unin de conjuntos infinita, pero cada uno de sus elementos es una concatenacin finita de
cadenas de S. Descrito:
=
=0
Donde
= , . .
es
la
concatenacin
de
por
veces
( 0 = {}. )
Una vez analizado se define la operacin de repeticin para expresiones regulares como:
Considere la expresin (a|bb)*, corresponde a cualquiera de las cadenas siguientes: , a, bb, aa, abb, bba,
bbbb, aaa, aabb y sucesivamente.
En trminos de lenguajes, L((a|bb)*)=L(a|bb)*={a,bb}*={, a, bb, aa, abb, bba,}
Figura 6. Ejemplos
Nombres para expresiones regulares. Es til como una forma de simplificar la notacin proporcionar un
nombre para una expresin regular larga, de modo que no se escriba la misma expresin.
Si se desea desarrollar una expresin regular para una secuencia de uno o ms dgitos numricos:
(0|1|2| 9) (0|1|2||9)*
o se podra escribir dgito dgito*
donde dgito = 0|1|2||9
es una definicin regular del nombre dgito.
El uso de una definicin regular es muy conveniente, pero introduce la compilacin agregada de que el
nombre mismo se convierta en un metasmbolo y se deba encontrar un significado para distinguirlo de la
concatenacin de sus caracteres.
Este proyecto trata del reconocimiento de una determinada subclase de una determinada expresin regular,
el patrn es puesto en el circuito antes de iniciar la comprobacin de coincidencia y el texto para ser
recuperado se introduce en el circuito carcter por carcter.
Esta nueva propuesta de sistema de deteccin de intrusos en redes la cual consta del motor de comprobacin
de coincidencia de patrones, este motor est constituido por un array sistlico de unidades de procesamiento
simple el cual es denominado celda de comparacin.
Una de las principales aplicaciones de los hermanos Deitel, son las expresiones regulares que facilitan la
construccin de un compilador.
A menudo se utiliza una expresin regular larga y compleja para validar la sintaxis de un programa. Si el cdigo
del programa no concuerda con la expresin regular, el compilador sabe que hay un error de sintaxis dentro
del cdigo.
Generalmente, convierten la expresin regular a un autmata finito no determinista y despus construyen el
autmata finito determinista.
Otra aplicacin del mismo libro es en los editores de texto. Tambin encontramos a las expresiones regulares
en la biologa molecular. Tambin hay esfuerzos importantes para tratar de representar cadenas como
generadas por expresiones regulares o por lenguajes regulares.
Conclusin
En una operacin normal de bsqueda y reemplazo es necesario proporcionar el texto exacto para que
coincida con los resultados deseados. Aunque esta tcnica puede ser adecuada para tareas de bsqueda y
reemplazo sencillas de texto esttico, carece de flexibilidad y hace cuando menos difcil, si no imposible, la
bsqueda de texto dinmico.
Con las expresiones regulares, se puede:
Reemplazar texto.
Puede utilizar una expresin regular para identificar el texto especfico de un documento y
quitarlo o reemplazarlo con otro texto.
Por ejemplo, si necesita buscar en un sitio Web, quite el material obsoleto y reemplace alguna de las etiquetas
de formato HTML. En este caso, puede utilizar una expresin regular para determinar si el material de las
etiquetas de formato HTML aparece en cada archivo. Este proceso reduce la lista de archivos afectados a los
archivos que contengan el material de destino que se desea quitar o cambiar. A continuacin, puede utilizar
una expresin regular para quitar el material obsoleto. Por ltimo, puede utilizar una expresin regular para
buscar y reemplazar las etiquetas.
Una expresin regular tambin es til en un lenguaje como JScript o C, que no se distinguen por su capacidad
de controlar cadenas.
Referencias bibliogrficas
Hopcroft John E., Introduccin a la Teora de Autmatas, Lenguajes y Computacin, 2da ed, Ed. Addison
Wesley, 2004.
Kenneth C. Louden. (2004). Construccin de compiladores: principios y prctica. Mxico: Thomson.
Floria, D.. (2014). Lenguajes y Expresiones Regulares. Septiembre, 2016, de SlidePlayer Sitio web:
http://slideplayer.es/slide/141462/
Labastida,
Ma.
(2013).
Anlisis
Lxico.
Septiembre.
2016,
http://ingenieria.uatx.mx/labastida/files/2013/06/An%C3%A1lisis-l%C3%A9xico.pdf
de
Sitio
web:
10