comment
IRC Chat
play_arrow
Este sitio utiliza cookies propias y de terceros. Si continúa navegando consideramos que acepta el uso de cookies. OK Más Información.

[Java] Uso de la clase Regex

  • 0 Respuestas
  • 1045 Vistas

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado /d3v/nu11

  • *
  • Underc0der
  • Mensajes: 26
  • Actividad:
    0%
  • Reputación 0
    • Ver Perfil
    • Email
« en: Abril 08, 2015, 08:23:38 pm »
Les dejo este programa que hice para la uni. Lo que hace es comprobar mediante expresiones regulares si los datos introducidos son válidos, en caso de ser todos los campos válidos los añade a un fichero .csv y pregunta si sigue añadiendo o termina.

Código: Java
  1. import java.io.IOException;
  2. import java.util.Scanner;
  3. import java.util.regex.*;
  4.  
  5. public class ValidacionBOE {
  6.        
  7.         static Scanner leer = new Scanner(You are not allowed to view links. Register or Login.in);
  8.         static Matcher validador;
  9.         static Pattern patron;
  10.         static boolean ok;
  11.        
  12.         static You are not allowed to view links. Register or Login pedirNombre(){
  13.                 boolean terminado = false;
  14.                 You are not allowed to view links. Register or Login nombrepaciente = null;
  15.                 while (terminado == false){
  16.                         You are not allowed to view links. Register or Login.out.print("Nombre completo del paciente: ");
  17.                         nombrepaciente = leer.nextLine();
  18.                        
  19.                         // Validación de la expresión regular
  20.                         // Nombre Apellido1 Apellido2(opcional)
  21.                         patron = Pattern.compile("(\\p{Lu}\\p{Ll}+) +(\\p{Lu}\\p{Ll}+)( +\\p{Lu}\\p{Ll}+)?");
  22.                         validador = patron.matcher(nombrepaciente);
  23.                         ok = validador.matches();
  24.                          
  25.                         if (ok)
  26.                                 terminado = true;
  27.                         else
  28.                                 You are not allowed to view links. Register or Login.out.println("***Formato incorrecto***");
  29.                 }
  30.                 return nombrepaciente;
  31.         }
  32.        
  33.         static You are not allowed to view links. Register or Login pedirDNI(){
  34.                 boolean terminado = false;
  35.                 You are not allowed to view links. Register or Login DNI = null;
  36.                 while (terminado == false){
  37.                         You are not allowed to view links. Register or Login.out.print("DNI/NIE: ");
  38.                         DNI = leer.nextLine();
  39.                        
  40.                         // Validación de la expresión regular
  41.                         // 8 numeros 1 letraMayus
  42.                         // 1 letraMayus 7 numeros 1 letraMayus
  43.                         patron = Pattern.compile("\\d{8}\\p{Lu}|\\p{Lu}\\d{7}\\p{Lu}");
  44.                         validador.usePattern(patron);
  45.                         validador.reset(DNI);
  46.                         ok = validador.matches();
  47.                                                  
  48.                         if (ok)
  49.                                 terminado = true;
  50.                         else
  51.                                 You are not allowed to view links. Register or Login.out.println("***Formato incorrecto***");
  52.                 }
  53.                 return DNI;
  54.         }
  55.        
  56.         static You are not allowed to view links. Register or Login pedirSS(){
  57.                 boolean terminado = false;
  58.                 You are not allowed to view links. Register or Login SS = null;
  59.                 while (terminado == false){
  60.                         You are not allowed to view links. Register or Login.out.print("Número de la seguridad social: ");
  61.                         SS = leer.nextLine();
  62.                        
  63.                         // Validación de la expresión regular
  64.                         // Diferentes posibles números de seguridad social
  65.                         patron = Pattern.compile("(66|53|50|[0-4][0-9])-?\\d{8}-?\\d{2}");
  66.                         validador.usePattern(patron);
  67.                         validador.reset(SS);
  68.                         ok = validador.matches();
  69.                                                                          
  70.                         if (ok)
  71.                                 terminado = true;
  72.                         else
  73.                                 You are not allowed to view links. Register or Login.out.println("***Formato incorrecto***");
  74.                 }
  75.                 return SS;
  76.         }
  77.        
  78.         static You are not allowed to view links. Register or Login pedirFechaCaducidadTS(){
  79.                 boolean terminado = false;
  80.                 You are not allowed to view links. Register or Login fecha = null;
  81.                 while (terminado == false){
  82.                         You are not allowed to view links. Register or Login.out.print("Fecha de caducidad de la tarjeta sanitaria individual: ");
  83.                         fecha = leer.nextLine();
  84.                        
  85.                         // Validación de la expresión regular
  86.                         // mes/año
  87.                         patron = Pattern.compile("((0?[0-9])|([01][012]))/\\d\\d");
  88.                         validador.usePattern(patron);
  89.                         validador.reset(fecha);
  90.                         ok = validador.matches();
  91.                                                                          
  92.                         if (ok)
  93.                                 terminado = true;
  94.                         else
  95.                                 You are not allowed to view links. Register or Login.out.println("***Formato incorrecto***");
  96.                 }
  97.                 return fecha;
  98.         }
  99.        
  100.         static You are not allowed to view links. Register or Login pedirTLF(){
  101.                 boolean terminado = false;
  102.                 You are not allowed to view links. Register or Login TLF = null;
  103.                 while (terminado == false){
  104.                         You are not allowed to view links. Register or Login.out.print("Número de teléfono: ");
  105.                         TLF = leer.nextLine();
  106.                        
  107.                         // Validación de la expresión regular
  108.                         // 695 934 429
  109.                         // 654 23 24 24
  110.                         // +34 654234525
  111.                         patron = Pattern.compile("(\\(\\+\\d{1,3}\\)|(\\+\\d{1,3} ))?((\\d{3} \\d{3} \\d{3})|(\\d{9})|(\\d{3} \\d{2} \\d{2} \\d{2}))");
  112.                         validador.usePattern(patron);
  113.                         validador.reset(TLF);
  114.                         ok = validador.matches();
  115.                                                                          
  116.                         if (ok)
  117.                                 terminado = true;
  118.                         else
  119.                                 You are not allowed to view links. Register or Login.out.println("***Formato incorrecto***");
  120.                 }
  121.                 return TLF;
  122.         }
  123.        
  124.         static You are not allowed to view links. Register or Login pedirCIPSNS(){
  125.                 boolean terminado = false;
  126.                 You are not allowed to view links. Register or Login CIPSNS = null;
  127.                 while (terminado == false){
  128.                         You are not allowed to view links. Register or Login.out.print("Código CIPSNS: ");
  129.                         CIPSNS = leer.nextLine();
  130.                        
  131.                         // Validación de la expresión regular
  132.                         //1110123456789111
  133.                         patron = Pattern.compile("(\\d{3})\\d{10}\\1");
  134.                         validador.usePattern(patron);
  135.                         validador.reset(CIPSNS);
  136.                         ok = validador.matches();
  137.                                                                          
  138.                         if (ok)
  139.                                 terminado = true;
  140.                         else
  141.                                 You are not allowed to view links. Register or Login.out.println("***Formato incorrecto***");
  142.                 }
  143.                 return CIPSNS;
  144.         }
  145.        
  146.         static You are not allowed to view links. Register or Login pedirCITE(){
  147.                 boolean terminado = false;
  148.                 You are not allowed to view links. Register or Login CITE = null;
  149.                 while (terminado == false){
  150.                         You are not allowed to view links. Register or Login.out.print("Código CITE: ");
  151.                         CITE = leer.nextLine();
  152.                        
  153.                         // Validación de la expresión regular
  154.                         patron = Pattern.compile("80(AFG|ALA|ALB|DEU|AND|AGO|AIA|ATA|ATG|SAU|DZA|ARG|ARM|ABW|AUS|AUT|AZE|BHS|BGD|BRB|BHR|BEL|BLZ|BEN|BMU|BLR|MMR|BOL|BIH|BWA|BRA|BRN|BGR|BFA|BDI|BTN|CPV|KHM|ZMR|CAN|UAT|BES|TCD|CHL|CHN|CIP|COL|COM|PRK|KOR|CIV|CRI|HRV|CUB|CUW|DNK|DMA|ECU|EGY|SLV|ARE|ERI|SVK|SVN|ESP|USA|EST|ETH|PHL|FIN|FJI|FRA|GAB|GMB|GEO|GHA|GIB|GRD|GRC|GRL|GLP|GUM|GTM|GUF|GGY|GIN|GNB|GNQ|GUI|HTI|HND|HKG|IND|IDN|IRQ|IRN|IRL|BVT|IMN|CXR|NFK|ISL|CYM|COK|FRO|SGS|HMD|FLK|MNP|MHL|PCN|SLB|TCA|UMI|VGB|VIR|ISR|ITA|JAM|JPN|JEY|JOR|KAZ|KEN|KGZ|KIR|KWT|LAO|LSO|LVA|LBN|LDR|LBY|LIE|LTU|LUX|MAC|MDG|MYS|MWI|MDV|MLI|MLT|MAR|MTQ|MUS|MRT|MYT|MEX|FSM|MDA|MCO|MNG|MNE|MSR|MOZ|NAM|NRU|NPL|NIC|NER|NGA|NIU|NOR|NCL|NZL|OMN|NLD|PAK|PLW|PSE|PAN|PNG|PRY|PER|PIF|POL|PRT|PRI|GBR|CAF|CZE|MKD|COG|COD|DOM|REU|RWA|ROU|RUS|ESH|WSM|ASM|BLM|KNA|SMR|MAF|SPM|VCT|SHN|LCA|STP|SEN|SRB|SYC|SLE|SGP|SXM|SYM|SOM|LKA|SWZ|ZAF|SDN|SSD|SWE|CHE|SUR|SJM|THA|TWN|TZA|TJK|IOT|ATF|TLS|TGO|TKL|TON|TTO|TUN|TKM|TUR|TUV|UKR|UGA|URY|UZB|VUT|VAT|VEN|VNM|WLF|YEM|DJI|ZMB|ZWE)\\d{2}(\\d)\\d{2}\\2");
  155.                         validador.usePattern(patron);
  156.                         validador.reset(CITE);
  157.                         ok = validador.matches();
  158.                                                                          
  159.                         if (ok)
  160.                                 terminado = true;
  161.                         else
  162.                                 You are not allowed to view links. Register or Login.out.println("***Formato incorrecto***");
  163.                 }
  164.                 return CITE;
  165.         }
  166.        
  167.         public static void main(You are not allowed to view links. Register or Login[] args) {
  168.                
  169.                 boolean terminado = false;
  170.                 You are not allowed to view links. Register or Login nombre = null;
  171.                 You are not allowed to view links. Register or Login dni = null;
  172.                 You are not allowed to view links. Register or Login ss = null;
  173.                 You are not allowed to view links. Register or Login fecha = null;
  174.                 You are not allowed to view links. Register or Login tlf = null;
  175.                 You are not allowed to view links. Register or Login cipsns = null;
  176.                 You are not allowed to view links. Register or Login cite = null;
  177.                 You are not allowed to view links. Register or Login sb = new You are not allowed to view links. Register or Login();
  178.                
  179.                 while (!terminado){
  180.                         nombre = pedirNombre();
  181.                         dni = pedirDNI();
  182.                         ss = pedirSS();
  183.                         fecha = pedirFechaCaducidadTS();
  184.                         tlf = pedirTLF();
  185.                         cipsns = pedirCIPSNS();
  186.                         cite = pedirCITE();
  187.                        
  188.                         // Escribimos y guardamos el fichero
  189.                         try {
  190.                                 LEfichero.escribirFichero("NC,DNINIE,NSS,FC,TEL,CIPNS,CITE"+You are not allowed to view links. Register or Login.getProperty("line.separator")
  191.                                                 +sb.append(nombre+","+dni+","+ss+","+fecha+","+tlf+","+cipsns+","+cite
  192.                                                                 +You are not allowed to view links. Register or Login.getProperty("line.separator")).toString(),"pacientes.csv");
  193.                                 }
  194.                         catch (You are not allowed to view links. Register or Login error) {
  195.                                         //captura excepción
  196.                                         You are not allowed to view links. Register or Login.out.println("***Error de escritura "+error);
  197.                                 }      
  198.                        
  199.                         // Comprobación de la respuesta
  200.                         boolean respuestaTerminada = false;
  201.                         while (!respuestaTerminada){
  202.                                 You are not allowed to view links. Register or Login.out.print("Pulse <S> salir o <A> añadir:");
  203.                                 You are not allowed to view links. Register or Login respuesta = leer.nextLine();
  204.                                
  205.                                 patron = Pattern.compile("S|A");
  206.                                 validador.usePattern(patron);
  207.                                 validador.reset(respuesta);
  208.                                 ok = validador.matches();
  209.                                         if (ok && respuesta.equals("S")){
  210.                                                 respuestaTerminada = true;
  211.                                                 terminado = true;
  212.                                         }
  213.                                         else if (ok && respuesta.equals("A"))
  214.                                                 respuestaTerminada = true;
  215.                                         else
  216.                                                 You are not allowed to view links. Register or Login.out.println("Respuesta incorrecta");
  217.                         }
  218.                 }
  219.                
  220.                 leer.close();
  221.                
  222.                 You are not allowed to view links. Register or Login.out.println("SALIDA pacientes.csv:");
  223.                 You are not allowed to view links. Register or Login.out.println();
  224.                 You are not allowed to view links. Register or Login.out.println("NC,DNINIE,NSS,FC,TEL,CIPNS,CITE");
  225.                 You are not allowed to view links. Register or Login.out.println(sb);
  226.         }
  227. }
  228.  


Piensa por ti mismo y cuestiona a la autoridad.

 

¿Te gustó el post? COMPARTILO!



[Video Curso] Iniciacion a Java por DesarrolloWeb y EscuelaIT Mayo 2014

Iniciado por graphixx

Respuestas: 3
Vistas: 1475
Último mensaje Febrero 23, 2015, 10:13:28 am
por Hu3c0
[LIBRO] Programación avanzada en Java - Sonia Jaramillo Valbuena

Iniciado por graphixx

Respuestas: 2
Vistas: 2636
Último mensaje Junio 01, 2018, 01:56:36 pm
por eervv
Java Extremo [Video Cursos Completos] [Español] [ISO] 2009

Iniciado por graphixx

Respuestas: 9
Vistas: 4399
Último mensaje Diciembre 04, 2017, 02:36:34 am
por graphixx
Como compilar programas Java en la consola de comandos de Windows

Iniciado por tar3kw0rm3d

Respuestas: 2
Vistas: 2172
Último mensaje Junio 04, 2013, 02:55:07 pm
por tar3kw0rm3d
[VIDEOTUTORIAL] Java 7 (2011) Creación de aplicaciones de escritorio

Iniciado por graphixx

Respuestas: 3
Vistas: 2254
Último mensaje Diciembre 13, 2017, 12:15:55 pm
por Jean Grey