Se ha denunciado esta presentación.
Utilizamos tu perfil de LinkedIn y tus datos de actividad para personalizar los anuncios y mostrarte publicidad más relevante. Puedes cambiar tus preferencias de publicidad en cualquier momento.

Expresiones regulares fin

  • Inicia sesión para ver los comentarios

  • Sé el primero en recomendar esto

Expresiones regulares fin

  1. 1. EXPRESIONES REGULARESDEFINICIÓNLas expresiones regulares fueron introducidas por Kleene y son una notación alternativaa las gramáticas lineales a la derecha para escribir lenguajes regulares. La razón deestudiar esta notación viene dada por su adecuación a la construcción de analizadoreslexicográficos.Las expresiones regulares son una serie de caracteres que forman un patrón,normalmente representativo de otro grupo de carácteres mayor, de tal forma quepodemos comparar el patrón con otro conjunto de caracteres para ver las coincidencias.Las expresiones regulares están disponibles en casi cualquier lenguaje de programación,pero aunque su sintaxis es relativamente uniforme, cada lenguaje usa su propio dialecto.Una expresión regular puede contener caracteres del alfabeto, pero dichos caracterestiene un significado diferente: en toda expresión regular, cada uno de los símbolosindican patrones. Una expresión regular r puede contener caracteres que tienesignificados especiales, A esta clase de caracteres se les llaman metacaracteres ometasímbolos.METACARACTERESAlgunos caracteres en una expresión regular tienen un comportamiento específico. Aestos caracteres se los conoce como "metacaracteres".
  2. 2. DESCRIPCION DE ALGUNOS METACARACTERES DESTACADOS • El punto "."El punto se interpreta por el motor de búsqueda como "cualquier carácter", es decir,busca cualquier carácter SIN incluir los saltos de línea.Aunque el punto es muy útil para encontrar caracteres que no conocemos, es necesariorecordar que corresponde a cualquier carácter y que muchas veces esto no es lo que serequiere. Es muy diferente buscar cualquier carácter que buscar cualquier carácteralfanumérico o cualquier dígito o cualquier no-dígito o cualquier no-alfanumérico. Sedebe tomar esto en cuenta antes de utilizar el punto y obtener resultados no deseados. • La barra inversa o contrabarra ""Se utiliza para "marcar" el siguiente carácter de la expresión de búsqueda de forma queeste adquiera un significado especial o deje de tenerlo. O sea, la barra inversa no seutiliza nunca por sí sola, sino en combinación con otros caracteres. Al utilizarlo porejemplo en combinación con el punto "." este deja de tener su significado normal y secomporta como un carácter literal.De la misma forma, cuando se coloca la barra inversa seguida de cualquiera de loscaracteres especiales que discutiremos a continuación, estos dejan de tener susignificado especial y se convierten en caracteres de búsqueda literal. • Los corchetes "[ ]"
  3. 3. La función de los corchetes en el lenguaje de las expresiones regulares es representar"clases de caracteres", o sea, agrupar caracteres en grupos o clases. Son útiles cuando esnecesario buscar uno de un grupo de caracteres. Dentro de los corchetes es posibleutilizar el guion "-" para especificar rangos de caracteres. Adicionalmente, losmetacaracteres pierden su significado y se convierten en literales cuando se encuentrandentro de los corchetes. • La barra "|"Sirve para indicar una de varias opciones. • El asterisco "*"El asterisco sirve para encontrar algo que se encuentra repetido 0 o más veces. • El signo de suma "+"Se utiliza para encontrar una cadena que se encuentre repetida una o más vecesEXPRESIONES REGULARES EN LA PROGRAMACIÓNEn el área de la programación las expresiones regulares son un método por medio delcual se pueden realizar búsquedas dentro de cadenas de caracteres. Sin importar si labúsqueda requerida es de dos caracteres en una cadena de 10 o si es necesario encontrartodas las apariciones de un patrón definido de caracteres en un archivo de millones decaracteres, las expresiones regulares proporcionan una solución para el problema.Adicionalmente, un uso derivado de la búsqueda de patrones es la validación de unformato específico en una cadena de caracteres dada, como por ejemplo fechas oidentificadores. Para poder utilizar las expresiones regulares al programar es necesariotener acceso a un motor de búsqueda con la capacidad de utilizarlas. Es posibleclasificar los motores disponibles en dos tipos: Motores para el programador y Motorespara el usuario final.Cada Expresión regular denota un lenguaje .Para definir las expresiones regulares sobreun vocabulario V, se utilizan las siguientes reglas:1. £ es una E.R. que denota {£} (el lenguaje compuesto únicamente por la cadenavacía).2. Para cada a perteneciente a V, a es la E.R, que denota {a} (el lenguaje cuya únicacadena es a).3. S¡ p y q son dos E.R. que denotan los lenguajes P y Q. respectivamente, entonces:a ) (p) | (q) es una E-R que denota P U Q.b) (p). (q|) es una ER que denota P.Q.c) (p)* es una E.R. que denota P*.
  4. 4. Cuando no se usan paréntesis, para evaluar una E.R. hay que tener en cuenta lassiguientes reglas de precedencia (de mayor a menor): “*” “’” “|”.Algunos ejemplos para ilustrar: 1. La E.R. a* denota el lenguaje que contiene cadenas con cera o más símbolos «a». 2. a (a)* denota el lenguaje que contiene uno o más símbolos «a». También se puede Usar para denotar este lenguaje la notación a+ . 3. La E.R. (a | b)* denota el lenguaje que contiene todas las cadenas que se pueden formar con «a» y «b», incluida la cadena vacía. 4. La E.R. {a | b}* abb denota el conjunto de todas las cadenas compuestas por símbolos «a» y «b» y terminando siempre con abb. 5. La E.R. (a | b)(a | b) denota todas las cadenas de longitud dos, mientras que la E.R. ((a | b)(a | b))* denota todas las de longitud par. 6. La E.R. (a | b)(a | b)(a | b) denota las cadenas de longitud tres y (a | b)(a | b)(a | b) + denota las cadenas de longitud tres o más. 7. La E.R. (a | b)(a | b)(a | b) + | a | b denota las cadenas que no tienen longitud conocidaOPERACIONES CON EXPRESIONES REGULARESExisten tres operaciones básicas en las expresiones regulares 1) Selección entre alternativas, la cual se indica mediante el metacaracter | (barra vertical) 2) Concatenación, que se indica mediante yuxtaposición (sin un metacaracter) 3) Repetición o "cerradura", la cual se indica mediante el metacarácter *. Analizaremos cadauna por turno proporcionando la construcción del conjunto correspondiente para loslenguajes de cadenas concordantes

×