You are on page 1of 18

EXPRESIONES

REGULARES
INTEGRANTES:
• GONZALES SIESQUEN ALEX
• QUIÑONES CÉSPEDES XENA
• VILCHEZ SANCHEZ OSKHAR
1.Explique el fundamento
matemático de las expresiones
regulares reglas básicas y
ejemplos de su funcionamiento
Definición:
 Una expresión es una combinación de constantes, variables,
operadores y funciones de acuerdo con reglas sintácticas precisas.

 Están directamente relacionadas con los autómatas finitos


determinísticos y no determinísticos.

 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
Metacaracteres:

La construcción de expresiones regulares depende de la asignación


de significado especial a algunos caracteres. En el patrón aba*.txt el
carácter * no vale por sí mismo, como el carácter asterisco, sino que
indica un "conjunto de caracteres cualesquiera".

\^$.[]{}|()*+?
Caracteres Descripción
Anclajes
^ Coincide con el principio de la línea o de la
cadena de texto que se busca mediante la
expresión regular.
^abc
$ Coincide con el final de la línea o de la cadena
de texto que se busca mediante la expresión
regular.
xyz$
Metacaracteres
. (punto) Coincide con cualquier carácter
individual, excepto con los de una línea nueva.
| (barra vertical) Indica alternativa; es decir, la
disyuntiva "o".
\ Indica que el carácter siguiente es literal y no
especial.
Clases de caracteres
[...] Coincide con cualquiera de los caracteres del conjunto
especificado. Separa el primer y el último carácter con un guion.
[^...] Coincide con cualquier carácter que no se incluya en el conjunto
de caracteres especificado.
[:alnum:] Coincide con caracteres alfanuméricos (letras o cifras): a-z, A-
Z o 0-9
[:alpha:] Coincide con caracteres alfanuméricos (letras): a-z o A-Z
[:digit:] Coincide con cifras: 0-9
[:graph:] Coincide únicamente con caracteres visibles, es decir, con
cualquier carácter excepto con espacios, caracteres de control,
etc.
[:punct:] Coincide con caracteres de puntuación y con símbolos:
! " # $ % & ' ( ) * + , \ -. / : ; < = > ? @ [ ] ^ _ ` { | }
[:print:] Coincide con caracteres visibles y con espacios.
[:space:] Coincide con todos los caracteres de espacio en blanco, incluidos
los espacios, las tabulaciones y los saltos de línea.
[:word:] Coincide con cualquier carácter de una palabra, es decir, con
cualquier letra, cifra o con un guion bajo: a-z, A-Z, 0-9 o _
Clases de caracteres abreviados
Coincide con cualquier carácter de una palabra, es
decir, con cualquier letra, cifra o con un guion bajo:
\w a-z, A-Z, 0-9 o _

Coincide con cualquier carácter que no pertenezca


\W a una palabra, es decir, con cualquier carácter que
no sea una letra, una cifra o un guion bajo.
Coincide con cualquier carácter de espacio en
\s blanco. Por ejemplo, utiliza este carácter para indicar
un espacio entre las palabras de una frase
Coincide con cualquier carácter que no sea un
\S espacio en blanco.

Coincide con cualquier cifra del 0 al 9 (ambos


\d incluidos).
Coincide con cualquier carácter que no sea una
\D cifra del 0 al 9 (ambos incluidos).
Grupo

Agrupa partes de una expresión. Utiliza la función


(...) de agrupar para aplicar un cuantificador a un
grupo o para hacer coincidir una clase de
caracteres antes o después del grupo.
Cuantificadores
Coincide con la expresión que le precede exactamente n veces.
Por ejemplo:
{n} [a-c]{2} coincide con cualquier letra de la a a la c solo si hay dos
letras en una fila. De este modo, la expresión coincidiría con ab y ac,
pero no con abc o con aabbc.
Coincide con la expresión que le precede n veces como mínimo y m
veces como máximo. Por ejemplo:
{n,m} [a-c]{2,4} coincide con cualquier letra de la a a la c solo si las letras
tienen lugar un mínimo de 2 veces y un máximo de 4 veces en una
fila. De este modo, la expresión coincidiría con ab y con abc, pero
no con aabbc.
Indica que el carácter o la expresión que le precede puede
coincidir una vez o ninguna. Equivalente al intervalo {0,1}. Por
? ejemplo, la siguiente expresión regular:
colou?r
coincide con colour o color porque ? convierte la letra u en
opcional.
Reglas E.R. para la representación
del lenguaje
 1. Sea a una expresión regular denota un lenguaje regular o una cadena.

2. Sea ab una expresión regular esta denota un lenguaje regular L(ab) = L(a) L(b) = {a}{b}
= {ab}
 3. Sea a b una expresión regular esta denota un lenguaje regular L(a b) = L(a) ∪L(b) = {a}
∪{b} = {a,b}
 4. Sea a* una expresión regular esta denota un lenguaje regular L(a*) = L(a)* = (L(a))* =
({a})* = {a}* = { Ɛ, a, aa, aaa, ...}
 5. Sea a+ una expresión regular esta denota un lenguaje regular L(a+) = L(a) + = (L(a)) + =
({a})+ = {a}+ = {a, aa, aaa, ...}
 6. Sea Ɛ una expresión regular esta denota un lenguaje regular L( Ɛ ) = { Ɛ }
 7. En general, sea ‘r’ una E.R. esta denota un L.R. L® siendo ‘r’ una E.R. compuesta por las
E.R. definidas previamente, se utilizan dichas reglas para obtener el lenguaje asociado a
ella (r).
Ejemplos :
3. De ejemplos de Lenguajes de
Programación que utilicen
directamente expresiones
regulares para validaciones de
datos
¿Cómo construir un patrón común?

 Ejemplo:
"Expresiones regulares en 5 lenguajes diferentes“
 Podemos escribir un patrón de la siguiente manera:
\d+
 Ahora, desde allí hay más personajes en el título, por consiguiente:
.*\d+.*
Entonces ahora se lee así: cero o más caracteres seguidos de uno o
más dígitos seguidos de cero o más caracteres. (El. Es un comodín, el *
cuantificador representa cero o más).
Ejemplo 1: Java
 En Java, la clase String
tiene un método
llamado matches.
Volverá verdadero si
lo hace. Java también
tiene algunas clases
de ayuda. A saber,
java.util.regex.Pattern,
que ayuda a crear los
patrones, y
java.util.regex.Matche
r, que es un ayudante
para navegar y
mantener el estado
de varias
coincidencias.
Ejemplo 2: JavaScript
 JavaScript
también
permite la
creación
de
un objeto
de
Expresión
regular
utilizando el
estilo literal
de barra
diagonal.
Ejemplo 3: PHP

 PHP tiene una


función
llamada preg_
match . A pesar
de cómo suena
el nombre, no
es una función
de resultado de
prueba de
paternidad.

You might also like