5.1 Expreciones Regulares
Qué es una expresión regular?
Una expresión regular es un lenguaje representado por caracteres y metacaracteres que ofrece gran poder y flexibilidad en el procesamiento de texto. A través de la expresión de coincidencia de patrones es posible interpretar rápidamente vastas cantidades de texto y ejecutar varias operaciones como buscar información, buscar patrones, eliminar texto, extraer valores y mucho más.
En la computación lo más importante es comunicarse con presicion ya que un pequeño error provoca una interpretación diferente por la computadora y puede llevarnos a un serio problema. La computadora no puede detectar pequeños errores o si los detecta no puede “adivinar” que es lo que queremos representar. Debido a esto es necesario contar con un lenguaje que nos permita expresarnos con exactitud.
A diferencia del lenguaje ordinario, el lenguaje en computación debe ser preciso. Hay varios tipos de lenguajes y estos de utilizan de acuerdo a la complejidad de los algoritmos que se deseen realizar.
Primeramente debemos saber que para tener un lenguaje es necesario tener un alfabeto, que es una colección de símbolos o letras que se usan para formar expresiones o palabras.
En un lenguaje cualquier el alfabeto se representa por ∑.
Ejemplo 1. Los siguientes son alfabetos.
a) ∑= {0,1} bits
b) ∑= {0,1,2,3,4,5,6,7,8,9,} dígitos
c) ∑= {a,b,c,+,*,/,=,()}, símbolos algebraicos
d) ∑= {p,q,r, ^,ˇ,→,¬,(,),}, símbolos lógicos
Hay tres operaciones básicas para formar expresiones regulares.
UNION, se forma con dos expresiones al seleccionar una de ellas.
Por ejemplo 0ں1 significa 0 o 1
C(AںO)SA significa CASA o COSA
CONCATENACION. La concatenación forma al poner una expresión a continuación de otra.
Por ejemplo: 0 o 1 significa 01
CA o SA significa CASA
(0ں1) o O significa (0ں1)0
ESTRELLA DE KLEENE. Se obtiene al tomar n copias de una expresión cualquiera, n puede ser 0.
Por ejemplo. 0* significa 00…0
n
Con n=0, 1,2,…cantidad arbitraria d ceros.
(0ں1)* significa cualquier expresión de O`s y 1`s.
Ontiveors Bermejo Brenda Shantal 302