Practica 1. expresiones regulares PDF

Title Practica 1. expresiones regulares
Author Daniel Cortes
Course Teoría Computacional
Institution Instituto Politécnico Nacional
Pages 8
File Size 468.8 KB
File Type PDF
Total Downloads 780
Total Views 892

Summary

UNIDAD DE APRENDIZAJE“Teoría Computacional”“Practica 1. ExpresionesRegulares”ALUMNOBERNABE CORTES JUAN DANIEL2015030123GRUPO 2CMPROFESORALuz María Sánchez García2 marzo 2019Bernabe Cortes Juan DanielPractica 1. Expresiones RegularesINTRODUCCIÓNEl siguiente trabajo tiene como objetivo analizar las ex...


Description

UNIDAD DE APRENDIZAJE

“Teoría Computacional” “Practica 1. Expresiones Regulares”

ALUMNO BERNABE CORTES JUAN DANIEL 2015030123

GRUPO 2CM5

PROFESORA

Luz Marí María a Sánch Sánchez ez García 2 marzo 2019

Practica 1. Expresiones Regulares Bernabe Cortes Juan Daniel

Pr ac acti ti tic ca 1. Ex Exp p re si on e s R e g u la re s INTRODUCCIÓN El siguiente trabajo tiene como objetivo analizar las expresiones regulares así como las características que lo rodean, el modo de uso y algunos ejemplos. Una expresión regular es una expresión textual que utiliza símbolos especiales para hacer búsquedas avanzadas. A lo largo de este reporte se analizará la expresión regular de una CURP, la cual es una cadena de letras y dígitos ordenados de manera específica y que identifican a cada uno de los mexicanos. En este reporte se analizara el planteamiento del problema para encontrar una solución, solución que deberá ser implementada en un lenguaje de programación (en este caso Java) y verificada para revisar si cumple o no su propósito.

Planteamiento del problema Realización de un programa que reconozca un lenguaje regular determinado. El programa tendrá como entrada una expresión regular determinada en un alfabeto: ∑={0,1} ∑={a,b}, ∑={a-z}, ∑={0-9}, etc . La expresión regular asignada para ser verificada en este reporte es una CURP. La Clave Única de Registro de Población (CURP) es un código alfanumérico único de identidad de 18 caracteres utilizado para identificar oficialmente tanto a residentes como a ciudadanos mexicanos de todo el país. Los elementos que componen la CURP son los siguientes: Pos 1-2 Pos 3 Pos 4 Pos 5-10 Pos 11 Pos 12-13 Pos 14 Pos 15 Pos 16 Pos 17 Pos 18 ´

Primera letra y la primera vocal del primer apellido. Primera letra del segundo apellido. Primera letra del nombre de pila: se tomará en cuenta el primer nombre. Ejemplo: Juan Francisco se tomaría la letra J. Fecha de nacimiento sin espacios en orden de año, mes y día. Ejemplo: 960917 (1996, septiembre 17). Formato AA/MM/DD Letra del sexo (H o M). Dos letras correspondientes a la entidad de nacimiento (en caso de haber nacido fuera del país, se marca como NE, "Nacido en el Extranjero" Primera consonante interna () del primer apellido. Primera consonante interna () del segundo apellido. Primera consonante interna () del nombre. Dígito del 0-9 para fechas de nacimiento hasta el año 1999 y A-Z para fechas de nacimiento a partir del 2000. Dígito, para evitar duplicaciones.

Practica 1. Expresiones Regulares Bernabe Cortes Juan Daniel Por ejemplo, si una persona se llamara Luis Raúl Bello Mena, con sexo masculino, y hubiera nacido el 13 de marzo de 1992 en el estado de México, su CURP podría ser BEML920313HMCLNS09. Catálogo de las Entidades Federativas para la Conformación de la CURP: Estado

Clave

Estado

Clave

AGUASCALIENTES BAJA CALIFORNIA BAJA CALIFORNIA SUR CAMPECHE COAHUILA COLIMA CHIAPAS CHIHUAHUA DISTRITO FEDERAL DURANGO GUANAJUATO GUERRERO HIDALGO JALISCO MÉXICO MICHOACÁN

AS BC BS CC CL CM CS CH DF DG GT GR HG JC MC MN

MORELOS NAYARIT NUEVO LEÓN OAXACA PUEBLA QUERÉTARO QUINTANA ROO SAN LUIS POTOSÍ SINALOA SONORA TABASCO TAMAULIPAS TLAXCALA VERACRUZ YUCATÁN ZACATECAS

MS NT NL OC PL QT QR SP SL SR TC TS TL VZ YN ZS

Solución El siguiente caso ilustra la generación de la clave única para una persona cuyo nombre es Concepción Salgado Briseño, mujer nacida el 26 de junio de 1956 en México, Distrito Federal.

Diagrama de la conformación de la clave.

Practica 1. Expresiones Regulares Bernabe Cortes Juan Daniel Para este caso la expresión regular que se puede obtener de este análisis es la siguiente: ^[A-Z]{1}(A|E|I|O|U|X)[A-Z]{2}[0-9]{2}(0[1-9]|1[0-2])(0[0-9]|1[0-9]|2[0-9]|3[0-1])(H|M) (AS|BC|BS|CC|CS|CH|CL|CM|DF|DG|GT|GR|HG|JC|MC|MN|MS|NT|NL|OC|PL|QT|QR|SP|S L|SR|TC|TS|TL|VZ|YN|ZS|NE)[A-Z]{3}[0-9]{2}$ Donde: ^

En java significa el inicio de una ER.

[A-Z]{1}

Intervalo que corresponde a la primera letra del apellido paterno.

(A|E|I|O|U|X) Letras que se pueden colocar en la segunda posición de la clave. [A-Z]{2}

Intervalo que corresponde a la primera letra del apellido paterno y a la primera letra del primer nombre de la persona.

[0-9]{2}

Intervalo de números que pueden tomar las dos posiciones correspondientes al año de nacimiento.

(0[1-9]|1[0-2]) Intervalo de números que pueden tomar las dos posiciones correspondientes al mes de nacimiento. Este va del 00 al 09 o del 10 al 12. (0[1-9]|1[0-9]|2[0-9]|3[0-1]) Intervalo de números que pueden tomar las dos posiciones correspondientes al día del nacimiento. Estos van del 01 al 09 o del 10-19 o del 20 al 29 o del 30 al 31. (H|M)

Letra correspondiente al sexo de la persona. H, para hombres o M para mujeres.

(AS|BC|BS|CC|CS|CH|CL|CM|DF|DG|GT|GR|HG|JC|MC|MN|MS|NT|NL|OC|PL|QT|QR|SP|S L|SR|TC|TS|TL|VZ|YN|ZS|NE) Par de letras que pueden tomar las dos posiciones correspondientes a la entidad federativa de nacimiento del sujeto. [A-Z]{3}

Intervalo de letras que especifican la primera consonante del primer apellido seguido de la del segundo apellido segundo apellido y finalmente la primera consonante del nombre.

[0-9]{2}

Par de números que corresponden a un digito para el año y uno para evitar duplicaciones.

$

Fin de la expresión.

Para llevar a cabo la implementación se utilizó el lenguaje java por el fácil manejo de expresiones regulares e implementación y búsqueda de patrones.

Practica 1. Expresiones Regulares Bernabe Cortes Juan Daniel

Implementación A continuación se presenta el código fuente del programa en lenguaje java: /** * BERNABE CORTES JUAN DANIEL * TEORIA COMPUTACIONAL * VALIDACION DE CURP * EXPRESION REGULAR DE LA CURP: * ^[A-Z]{1}(A|E|I|O|U|X)[A-Z]{2}" "[0-9]{2}(0[1-9]|1[0-2])(0[0-9]|1[0-9]|2[0-9]|3[0-1])" "(H|M)" "(AS|BC|BS|CC|CS|CH|CL|CM|DF|DG|GT|GR|HG|JC|MC|MN|MS|NT|NL|OC|PL|QT |QR|SP|SL|SR|TC|TS|TL|VZ|YN|ZS|NE)" "[A-Z]{3}" "[0-9]{2}$ */ package teoria; import java.util.Scanner; /** * @author Daniel Bernabe */ public class Curp {//clase principal main public static void main (String []args){ int opc;//variable opcion del menu String curp;//cadena donde se almacenara el curp do{//Ciclo para el menú de opciones Scanner sc=new Scanner(System.in); System.out.println("\t ***************VALIDACION DE CURP***************"); System.out.println("1. Validar CURP"); System.out.println("2. Salir"); opc=sc.nextInt(); if(opc==1){//Opcion de validación caso 1 Scanner s=new Scanner(System.in); System.out.println("Introduce una curp\n"); curp=s.nextLine();//el usuario introduce una curp y se almacena en la variable curp if(RegexCurp(curp)==true)// Se envía la variable curp a la función RegexCurp para hacer la verificación. Si la Curp es válida por la función se muestra el mensaje valido System.out.println(curp+" Es una CURP VALIDA\n\n"); else//Si la Curp NO es válida por la función System.out.println(curp+" NO es una CURP VALIDA\n\n"); } else//Opcion de salida { System.out.println("Adios\n"); break; } }while(opc!=2);//Caso para cerrar el ciclo do

Practica 1. Expresiones Regulares Bernabe Cortes Juan Daniel } public static boolean RegexCurp(String Vcurp){//funcion para validar la curp //metodo para verificar si se cumple el regex //El método matches de String nos permite comprobar si un String cumple una expresión regular pasado como parámetro. Si es cierta devuelve true, sino false. return Vcurp.matches("^[A-Z]{1}(A|E|I|O|U|X)[A-Z]{2}" + "[0-9]{2}(0[1-9]|1[0-2])(0[0-9]|1[0-9]|2[0-9]|3[01])" + "(H|M)" + "(AS|BC|BS|CC|CS|CH|CL|CM|DF|DG|GT|GR|HG|JC|MC|MN|MS|NT|NL|OC|PL|QT|QR|SP |SL|SR|TC|TS|TL|VZ|YN|ZS|NE)" + "[A-Z]{3}" + "[0-9]{2}$");//expresión regular para verificar una curp }//fin de clase main }//fin de clase principal Curp

Practica 1. Expresiones Regulares Bernabe Cortes Juan Daniel

Funcionamiento anteriormente y nos arroja que la CURP es valida

Imagen 1. Menú de opciones.

Imagen 2. Selección de opción 1 para validar una CURP.

Imagen 3. Se introduce la CURP BECJ990315HMCRRN03, la cual fue verificada

Imagen 3. Al alterar los caracteres permitidos de la CURP, el programa nos arrojara el mensaje de CURP invalida. En este caso los primeros caracteres no corresponden a los que se permiten.

Imagen 4. Opción de salida, el programa se termina de ejecutar.

Practica 1. Expresiones Regulares Bernabe Cortes Juan Daniel

Conclusiones Una expresión regular es una expresión textual que utiliza símbolos especiales para hacer búsquedas avanzadas. Java nos ofrece mayor facilidad a momento de trabajar con expresiones regulares. Una vez teniendo una base del problema o la cadena que se va validar, se pueden crear estas expresiones a través de patrones y símbolos especiales. En este caso cada digito tiene un significado diferente y especial, si uno de estos caracteres no es correcto, por lo tanto la cadena completa no será válida.

Bibliografía 

   



IBM® IBM Knowledge Center. (2017). Formulación de expresiones regulares. 2019, de IBM Sitio web: https://www.ibm.com/support/knowledgecenter/es/SSKTXQ_9.0.1/admin/plan/plan_lite _regular_expressions.html Irv. (2005). Expresiones regulares. 2019, de DesarrolloWeb.com Sitio web: https://desarrolloweb.com/articulos/2033.php Wikipedia. (2019). Expresión Regular. 2019, de Wikipedia Sitio web: https://es.wikipedia.org/wiki/Expresi%C3%B3n_regular http://www.ia.urjc.es/grupo/docencia/automatas_itis/apuntes/capitulo7.pdf Microsoft. (2017). Lenguaje de expresiones regulares - Referencia rápida. 2019, de https://docs.microsoft.com/es-es/dotnet/standard/baseMicrosoft Sitio web: types/regular-expression-language-quick-reference http://www.ordenjuridico.gob.mx/Federal/PE/APF/APC/SEGOB/Instructivos/InstructivoNo rmativo.pdf...


Similar Free PDFs