0% encontró este documento útil (0 votos)
141 vistas10 páginas

Expresiones Regulares en ISC

Este documento presenta información sobre expresiones regulares. Define expresiones regulares como secuencias de caracteres que forman patrones para buscar en texto. Explica los operadores comunes como puntos, corchetes y asteriscos y cómo se usan para construir expresiones regulares. También cubre temas como la relación entre expresiones regulares y lenguajes regulares reconocidos por autómatas finitos.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
141 vistas10 páginas

Expresiones Regulares en ISC

Este documento presenta información sobre expresiones regulares. Define expresiones regulares como secuencias de caracteres que forman patrones para buscar en texto. Explica los operadores comunes como puntos, corchetes y asteriscos y cómo se usan para construir expresiones regulares. También cubre temas como la relación entre expresiones regulares y lenguajes regulares reconocidos por autómatas finitos.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd

Nombre de Carrera: Ingeniería en Sistemas Computacionales

Nombre de Materia: Lenguajes Autómatas.

Nombre del Tema: Expresiones Regulares.

Nombre del Profesor: Yurivia Torres Meraz

Nombre de alumno(s):

Jesus Uriel Melendez Ramirez

Número de Control:

19224018

Lugar y Fecha: 06/06/23, Rioverde


Contenido
Introducción................................................................................................................................................3
Marco teórico..............................................................................................................................................3
Operadores de las expresiones regulares................................................................................................4
Construcción de expresiones regulares...................................................................................................4
Clausura de un lenguaje..........................................................................................................................5
Relación entre expresiones regulares y lenguajes regulares....................................................................5
Precedencia de los operadores en las expresiones regulares..................................................................5
Planteamiento del problema.......................................................................................................................6
Desarrollo de la solución.............................................................................................................................7
Conclusión...................................................................................................................................................8
Bibliografías.................................................................................................................................................9
Introducción
Una expresión regular es una secuencia de caracteres que define un patrón de búsqueda en un
texto. Es una herramienta poderosa para realizar operaciones de búsqueda, validación y
manipulación de cadenas de caracteres. Las expresiones regulares se componen de
caracteres literales y metacaracteres, que representan clases de caracteres, cuantificadores y
otros patrones. En este tema se van a ver lo que son los caracteres, como se podría definir lo
que es cada parte, ver como son aplicables a los ejercicios y como se puede dar solución al
problema planteado en esta investigación.
Algunos de los caracteres que se van a ver a lo largo de esta investigación son:

 El punto(.) que coincide con cualquier carácter.


 Los corchetes ([]) que definen una clase de caracteres, como [a-z] para cualquier letra
minúscula.
 El asterisco (*) que representa cero o más ocurrencias del elemento anterior.
 El signo de suma (+) que representa una o más ocurrencias del elemento anterior.
 El interrogante (?) que representa cero o una ocurrencia del elemento anterior.
 Los paréntesis () que agrupan elementos y permiten aplicar operadores sobre ellos.
Estos son solo algunos ejemplos de caracteres. Las expresiones regulares pueden volverse
bastante complejas y permiten realizar búsquedas y manipulaciones muy específicas en los
textos.

Marco teórico
Las expresiones regulares son una serie de caracteres que forman un patrón, normalmente
representativo de otro grupo de caracteres mayores, de tal forma que podemos comparar el
patrón con otro conjunto de caracteres para ver las coincidencias. El objetivo de las
expresiones regulares es representar todos los posibles lenguajes definidos sobre un alfabeto
Σ, en base a una serie de lenguajes primitivos, y unos operadores de composición.
Dado un alfabeto Σ, las expresiones regulares sobre Σ se definen de forma recursiva por las
siguientes reglas:
1. Las siguientes expresiones son expresiones regulares primitivas:

 ∅
 λ
 a, siendo a ∈ Σ
2. Sean α y β expresiones regulares, entonces son expresiones regulares derivadas:

 α+β (unión)
 α.β (o simplemente αβ) (concatenación)
 α* (cierre)
 (α)
3. No hay más expresiones regulares sobre Σ que las construidas mediante estas reglas
Operadores de las expresiones regulares
Las expresiones regulares denotan lenguajes. Por ejemplo, la expresión regular 01*+10* define
el lenguaje que consta de todas las cadenas que comienzan con un 0 seguido de cualquier
número de 1s o que comienzan por un 1 seguido de cualquier número de 0s.
Las expresiones regulares denotan lenguajes. Por ejemplo, la expresión regular 01*+10* define
el lenguaje que consta de todas las cadenas que comienzan con un 0 seguido de cualquier
número de 1s o que comienzan por un 1 seguido de cualquier número de 0s.
1. La unión de dos lenguajes L y M, designada como L ∪ M, es el conjunto de cadenas que
pertenecen a L, a M o a ambos. Por ejemplo, si L={001,10,111} y M = {ε ,001}, entonces
L ∪ M = {ε ,10,001,111}.
2. La concatenación de los lenguajes L y M es el conjunto de cadenas que se puede
formar tomando cualquier cadena de L y concentrándola con cualquier cadena de M.
Para designar la concatenación de lenguajes se emplea el punto o ningún operador en
absoluto, aunque el operador de concatenación frecuentemente se llama “punto”. Por
ejemplo, si L={001,10,111} y M = {ε ,001}, entonces L.M, o simplemente LM, es
{001,10,111,001001,10001,111001}. Las tres primeras cadenas de LM son las cadenas
de L concatenadas con ε . Puesto que ε es el elemento identidad para la concatenación,
las cadenas resultantes son las mismas cadenas de L. Sin embargo, las tres últimas
cadenas de LM se forman tomando cada una de las cadenas de L y concatenándolas
con la segunda cadena de M, que es 001.
3. La clausura (o asterisco, o clausura de Kleene) de un lenguaje L se designa mediante
L^*y representa el conjunto de cadenas que se pueden formar tomando cualquier
número de cadenas de L, posiblemente con repeticiones (es decir, la misma cadena se
puede seleccionar más de una vez) y concatenando todas ellas. Por ejemplo, si L =
{0,1}, entonces L^*es igual a todas las cadenas de 0s y 1s. Si L = {0,11}, entonces
L^(* )constará de aquellas cadenas de 0s y 1s tales que los 1s aparezcan por parejas,
como por ejemplo 011,11110 y ε , pero no 01011 ni 101. Más formalmente, L* es la unión
infinita ∪(i≥0) L^i, donde L^0=(ε),L^1=L y L^i, para i>1 es LL• • •L (la concatenación de i
copias de L).

Construcción de expresiones regulares


Caso Base. El caso básico consta de tres partes:
1. Las constantes ε y ∅ son expresiones regulares, que representan a los lenguajes {ε } y Ø,
respectivamente. Es decir, L(ε)= {ε }y L(∅)= ∅.
2. Si a es cualquier símbolo, entonces a es una expresión regular. Esta expresión
representa el lenguaje {a}. Es decir, L(a)={a}.
3. Una variable, normalmente escrita en mayúsculas e itálicas, como L, representa cualquier
lenguaje.
Paso Inductivo. Existen cuatro partes en el paso de inducción, una para cada uno de los tres
operadores y otra para la introducción de paréntesis.
1. Si E y F son expresiones regulares, entonces E+F es una expresión regular que
representa la unión de L(E)y L(F). Es decir, L(E+F)= L(E)∪ L(F).
2. Si E y F son expresiones regulares, entonces EF es una expresión regular que representa
la concatenación de L(E)y L(F). Es decir, L(EF)=L(E)L(F).
3. Si E es una expresión regular, entonces E* es una expresión regular, que representa la
clausura de L(E). Es decir, L(E*)=(L(E))*
4. Si E es una expresión regular, entonces (E), una E encerrada entre paréntesis, es
también una expresión regular, que representa el mismo lenguaje que E. Formalmente;
L((E))=L(E).

Clausura de un lenguaje
 clausura (o asterisco, o clausura de Kleene) de un lenguaje L, escrita L*
 representa el conjunto de cadenas que se pueden formar tomando cualquier número de
cadenas de L, posiblemente con repeticiones y concantenando todas ellas.
 Por ejemplo, si L = {0, 1}, entonces L∗ es igual a todas las cadenas de 0s y 1s. Si L = {0,
11}, entonces L∗ constará de aquellas cadenas de 0s y 1s tales que los 1s aparezcan por
parejas, como por ejemplo 011, 11110 y ϵ , pero no 01011 ni 101.
 Más formalmente, L∗ es la unión infinita ⋃i ≥ 0Li, donde L0 = {ϵ}, L1 = L y Li es LL · · · L
(la concatenación de i copias de L).

Relación entre expresiones regulares y lenguajes regulares


A partir de una expresión regular se puede construir un automata finito nondeterminista con
transiciones ϵ

 nondeterminista significa que para un estado dado, un mismo símbolo puede llevar a
más de un estado
 una transición ϵ es un cambio de estado que el automata puede hacer sin leer ningun
símbolo de entrada
Otra forma de verlo es que un AFND, en lugar poder hacer transiciones desde un estado a otro,
puede hacer transiciones de un estado a un conjunto de estados.
Un AFND acepta una string si cualquier estado final es un estado de aceptación.

Precedencia de los operadores en las expresiones regulares

Como con otras álgebras, los operadores de las expresiones regulares tienen un orden de
“precedencia” prefijado, lo que significa que se asocian con sus operando en un determinado
orden. El orden de precedencia de los operadores es el siguiente:

1. El operador asterisco (*) es el de precedencia más alta. Es decir, se aplica sólo a la


secuencia más corta de símbolos a su izquierda que constituye una expresión regular
bien formada.
2. El siguiente en precedencia es el operador de concatenación, o “punto”. Después de
aplicar todos los operadores * a sus operando, aplicamos los operadores de
concatenación a sus operando. Es decir, todas las expresiones yuxtapuestas (adyacentes
sin ningún operador entre ellas). Dado que la concatenación es una operación asociativa,
no importa en qué orden se realicen las sucesivas concatenaciones, aunque si hay que
elegir, las aplicaremos por la izquierda.
3. Por último, se aplican todos los operadores de unión (+) a sus operando. Dado que la
unión también es asociativa, de nuevo no importa en que orden se lleven a cabo, pero
supondremos que se calculan empezando por la izquierda.
En ocasiones no se desea que una expresión regular sea agrupada según la precedencia de
los operadores. En dicho caso, se puede emplear paréntesis ( ) para agrupar los operando de
la forma que se desee. Además, nunca está de más encerrar entre paréntesis los operando que
se quieran agrupar, incluso aunque la agrupación deseada sea la prevista por las reglas de
precedencia.

Planteamiento del problema


Uso de expresiones regulares en la detección de errores escritos:
implicaciones en el diseño de un corrector gramatical.
Desarrollo de la solución
El uso de expresiones regulares en la detección de errores escritos es una estrategia eficaz
para el diseño de un corrector gramatical. Las expresiones regulares son patrones de
búsqueda flexibles que permiten identificar y clasificar diferentes tipos de errores gramaticales y
ortográficos en un texto.
Para implementar esta solución, se pueden definir expresiones regulares específicas para
detectar errores comunes, como la omisión o duplicación de letras en palabras, la falta de
concordancia entre género y número, el uso incorrecto de verbos o la incorrecta colocación de
acentos en palabras.
Por ejemplo, una expresión regular podría identificar palabras con letras repetidas, como
"felizz" en lugar de "feliz". Otra expresión regular podría buscar concordancia entre artículos y
sustantivos, como "el casa" en lugar de "la casa". También se podrían crear expresiones
regulares para detectar errores gramaticales más complejos, como la concordancia de tiempos
verbales.
Una vez que se han definido las expresiones regulares, se puede implementar un algoritmo que
recorra el texto y aplique estas expresiones para detectar y resaltar los errores. El algoritmo
podría ofrecer sugerencias de corrección al usuario o incluso corregir automáticamente los
errores identificados.
El uso de expresiones regulares en la detección de errores escritos tiene varias implicaciones
en el diseño de un corrector gramatical. En primer lugar, es necesario definir un conjunto
exhaustivo de expresiones regulares que cubran la mayoría de los errores gramaticales y
ortográficos. Además, se debe prestar atención a la eficiencia computacional, ya que el
procesamiento de grandes cantidades de texto puede ser costoso en términos de tiempo y
recursos.
Otra implicación importante es la necesidad de realizar pruebas exhaustivas para garantizar la
precisión y confiabilidad del corrector gramatical basado en expresiones regulares. Es posible
que algunas expresiones regulares no cubran todos los casos de error o que generen falsos
positivos. Por lo tanto, es esencial evaluar y refinar continuamente las expresiones regulares
para mejorar la calidad del corrector gramatical.
En resumen, el uso de expresiones regulares en la detección de errores escritos es una
solución efectiva para el diseño de un corrector gramatical. Sin embargo, es importante
considerar las implicaciones mencionadas y realizar pruebas rigurosas para asegurar la
precisión y eficiencia del corrector.
Conclusión
El uso de expresiones regulares en la detección de errores escritos tiene un impacto
significativo en el diseño de correctores gramaticales. Las expresiones regulares
permiten identificar patrones de error comunes y ofrecen una solución efectiva para la
detección automática de errores gramaticales. Sin embargo, es importante considerar
las limitaciones y complementar este enfoque con otras técnicas para abordar errores
más complejos. En última instancia, el diseño de un corrector gramatical eficaz debe
combinar diferentes enfoques y estrategias para garantizar una detección y corrección
precisa de errores gramaticales y ortográficos. Siendo este necesario para el desarrollo
de la solución del problema planteado.
Conocer los que es la expresión regulare es necesario para tener una forma de
escritura mas limpia, se muestran varios ejemplos de ello, se miran caracteres que
ayudan para el desarrollo de cadenas, siendo este un tema interesante para iniciar en
la materia de lenguajes autómatas, marca uno de los temas invitando a mas personas
que lo analicen y le den una oportunidad a este tema.
Bibliografías
Regulares, 1. Expresiones. (s/f). Propedeutico: Teor ́ıa de Aut ́omatas y Lenguajes Formales

Expresiones regulares y lenguajes. Inaoep.mx. Recuperado el 6 de junio de 2023, de

https://posgrados.inaoep.mx/archivos/PosCsComputacionales/Curso_Propedeutico/

Automatas/03_Automatas_ExpresionesRegularesLenguajes/CAPTUL1.PDF

Rosas, O. (2017, enero 29). Lenguajes y Expresiones Regulares. Compilando Conocimiento.

https://compilandoconocimiento.com/2017/01/29/expresiones-reguales/

Expresiones regulares. (s/f). Google.com. Recuperado el 6 de junio de 2023, de

https://sites.google.com/site/wikiudocsctalf/home/vision-de-las-expresiones-regulares-y-

lenguajes-regulares/expresiones-regulares

Expresiones Regulares. (s/f). Edu.ar. Recuperado el 6 de junio de 2023, de

https://cs.famaf.unc.edu.ar/~hoffmann/md18/10.html

De símbolos terminales, G. L. G. F. D. un L. D. C. se P. G. las C. del L. U. G. F. es U. C. G. =.

D.-N. es un C. F. de S. no T.-. T. es un C. F., De producciones, N. T. =-P. es un C. F., La

forma, C. P. de P. T., φAρ, α. =., Φωρ, β. =., El símbolo distinguido o axioma, y. A. es S.


ó. A. N.-S. es, De producciones permitidas en una gramática, S. R. L. F., & de lenguajes.,

se P. E. C. T. de G. y. S. C. C. (s/f). GRAMATICAS REGULARES - EXPRESIONES

REGULARES. Edu.ar. Recuperado el 6 de junio de 2023, de

https://users.exa.unicen.edu.ar/catedras/ccomp1/ApunteGRyER.pdf

También podría gustarte