2.2. Expresiones Regulares
Una expresión es una convinacion de constantes, variables, operadores y funciones deacuerdo con reglas sintacticas precisas.
Las expresiones regulares son importantes porque también pueden ser consideradas como un lenguaje de programación, que nos permite realizar acciones importantes como las de búsqueda de elementos en los compiladores (Errores como la falta designos de puntuación o palabras reservadas mal escritas). Las expresiones regulares están directamente relacionadas con los autómatas finitos determinísticos y no determinísticos, y en muchas ocasiones son empleadas para describir componentes de software debido a que son más fáciles de entender que los autómatas finitos. Otras características Importantes de las expresiones regulares es que estasnos permiten definir a los lenguajes descritos por las distintas familias de autómatas, los lenguajes regulares, con la ventaja de que las expresiones regulares ofrecen una forma declarativa de expresar las cadenas que pretendemos aceptar, lo que permite que se utilicen como lenguaje de entrada en muchos sistemas de proceso de cadenas.
La expresión regular también es llamada patrón, es unaexpresión que describe un conjunto de cadenas sin enumerar sus elementos. La mayoría de las formalizaciones proporcionan los siguientes constructores: una expresión regular es una forma de representar a los lenguajes regulares (finitos o infinitos) y se construye utilizando caracteres del alfabeto sobre el cual se define el lenguaje.
Regularmente se construyen utilizando los operadores unión,concatenación y clausura de Kleene
Cuantificadores:
Un cuantificador tras un carácter especifica la frecuencia con la que éste puede ocurrir. Los más comunes son:
+ El signo más indica que el carácter al que sigue debe aparecer al menos una vez
? El signo de interrogación indica que el carácter al que sigue puede aparecer como mucho una vez
*el asterisco indica que el carácter al que sigue puedeaparecer cero, una o más veces.
Alternación y agrupación
Alternación
| una barra vertical separa las alternativas
Agrupación
() Los paréntesis pueden usarse para definir el ámbito y precedencia de los demás operadores
\ indica que el siguiente carácter normal debe ser considerado como especial. También se utiliza como carácter de escape para los caracteres especiales.
$ se utiliza paraencontrar el final de una línea
^ Se utiliza para encontrar el comienzo de una línea
. Se utiliza para encontrar cualquier carácter que no sea un carácter de nueva línea
[] Es el lenguaje de la expresiones regulares es representar “clases de caracteres” o sea agrupara caracteres en grupos o clases.
{} Encuentra conciencia si hay exactamente n apariciones del carácter que precede
LasExpresiones regulares sobre un alfabeto, se definen así:
Es una expresión regular.
Ejemplo de expresiones regulares:
01*+10*
Denota el lenguaje de todas las cadenas que comienzan con cero y están seguidas por cualquier cantidad de unos o comienzan con uno y están seguidas por cualquier cantidad de ceros .
Ejemplo de construcción de expresiones regulares
Sea E el conjunto formado portodas las cadenas que tienen cero o más repeticiones de la cadena 01 alternados. Primero se desarrolla una expresión regular para el lenguaje formado por la cadena única 01, posteriormente Con ayuda del operador *, podemos obtener una expresión para todas las cadenas de la forma 010101010… 0101010 Lo primero que se debe contemplar es que por la definición de expresión regular 0 y 1 son expresionesregulares, y representan los lenguajes {0} y {1}, Por el inciso 5 de la definición la concatenación de expresiones regulares es una expresión regular, por lo cual 01 es una expresión regular que general lenguaje {01}. Para obtener todas las cadenas que constan de ceros y unos usamos 6 de la definición y obtenemos la expresión regular (01)*. Sin embargo el lenguaje asociado a (01)* solo...
Regístrate para leer el documento completo.