EXPRESIONES REGULARES Y SUS OPERACIONES
Enviado por Christopher • 14 de Junio de 2018 • 1.091 Palabras (5 Páginas) • 601 Visitas
...
La concatenación de lenguajes con el lenguaje vació es ΦL = L Φ = Φ
Potencia de un lenguaje: Se define la potencia i-ésima de un lenguaje a la operación de concatenarlo consigo mismo i veces.
Li= LLL....L
|------------|
i
Clausura positiva de un lenguaje: Se define la clausura positiva de un lenguaje L:
∞
L + = U L i
i=1
Lenguaje obtenido uniendo el lenguaje con todas sus potencias posibles excepto Lº. Si L no contiene la palabra vacía, la clausura positiva tampoco
Cierre o Clausura de un lenguaje: Se define el cierre o clausura de un lenguaje L como:
∞
L* = U Li
i=0
Lenguaje obtenido uniendo el lenguaje con todas sus potencias posibles, incluso Lº. Todas las clausuras contienen la palabra vacía.
Existen tres operaciones básicas que se pueden realizar sobre las ER:
- Selección de alternativas : Se indica con el operador |(barra vertical). Si r y s son ER, entonces r | s es una ER que define a cualquier cadena que concuerde con una r o una s, también se dice que r | s , es la unión de los lenguajes de r y s y lo podemos definir: L( r | s ) = L( r ) U L( s ). Esta operación se puede extender a más de dos ER.
- Concatenación: Se indica con la yuxtaposición de las ER. Si r y s son ER, entonces rs es una ER que define a cualquier cadena que concuerde con la concatenación de r y s , esta operación la podemos definir: L(rs) = L(r)L(s).Esta operación se puede extender a más de dos ER.
Repetición o Cerradura: También se conoce con el nombre de cerradura de Kleene. Se indica con el operador *. Si r es una ER, entonces r* es una ER que define a las cadenas de caracteres representadas por la concatenación repetida de r en n veces, o sea que lo podemos definir como: L(r*) = L(r)*o también lo podemos definir como la unión infinita de conjuntos r :r* n = r 0 r 1 r 2...r n.
2.3 APLICACIONES EN PROBLEMAS REALES.
Una de las principales aplicaciones de los hermanos Deitel, son las expresiones regulares que facilitan la construcción de un compilador. A menudo se utiliza una expresión regular larga y compleja para validar la sintaxis de un programa. Si el código del programa no concuerda con la expresión regular, el compilador sabe que hay un error de sintaxis dentro del código.
Generalmente convierten la expresión regular a un autómata finito no determinista y después construyen el autómata finito determinista.
Otra aplicación del mismo libro es en los editores de texto. También encontramos a las expresiones regulares en la biología molecular. También hay esfuerzos importantes para tratar de representar cadenas como generadas por expresiones regulares o por lenguajes regulares.
CONCLUCION
Las expresiones regulares son una serie de caracteres que forman un patrón, normalmente representativo de otro grupo de caracteres mayor, de tal forma que podemos comparar el patrón con otro conjunto de caracteres para ver las coincidencias.
Las expresiones regulares estan disponibles en casi cualquier lenguaje de programación, pero aunque su sintaxis es relativamente uniforme, cada lenguaje usa su propio dialecto.
BIBLIOGRAFIA
http://10380054.galeon.com/u2.htm
https://desarrolloweb.com/articulos/2033.php
...