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
  • 1167 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(No tienes permisos para ver links. Registrate o Entra con tu cuenta.in);
  8.         static Matcher validador;
  9.         static Pattern patron;
  10.         static boolean ok;
  11.        
  12.         static No tienes permisos para ver links. Registrate o Entra con tu cuenta pedirNombre(){
  13.                 boolean terminado = false;
  14.                 No tienes permisos para ver links. Registrate o Entra con tu cuenta nombrepaciente = null;
  15.                 while (terminado == false){
  16.                         No tienes permisos para ver links. Registrate o Entra con tu cuenta.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.                                 No tienes permisos para ver links. Registrate o Entra con tu cuenta.out.println("***Formato incorrecto***");
  29.                 }
  30.                 return nombrepaciente;
  31.         }
  32.        
  33.         static No tienes permisos para ver links. Registrate o Entra con tu cuenta pedirDNI(){
  34.                 boolean terminado = false;
  35.                 No tienes permisos para ver links. Registrate o Entra con tu cuenta DNI = null;
  36.                 while (terminado == false){
  37.                         No tienes permisos para ver links. Registrate o Entra con tu cuenta.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.                                 No tienes permisos para ver links. Registrate o Entra con tu cuenta.out.println("***Formato incorrecto***");
  52.                 }
  53.                 return DNI;
  54.         }
  55.        
  56.         static No tienes permisos para ver links. Registrate o Entra con tu cuenta pedirSS(){
  57.                 boolean terminado = false;
  58.                 No tienes permisos para ver links. Registrate o Entra con tu cuenta SS = null;
  59.                 while (terminado == false){
  60.                         No tienes permisos para ver links. Registrate o Entra con tu cuenta.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.                                 No tienes permisos para ver links. Registrate o Entra con tu cuenta.out.println("***Formato incorrecto***");
  74.                 }
  75.                 return SS;
  76.         }
  77.        
  78.         static No tienes permisos para ver links. Registrate o Entra con tu cuenta pedirFechaCaducidadTS(){
  79.                 boolean terminado = false;
  80.                 No tienes permisos para ver links. Registrate o Entra con tu cuenta fecha = null;
  81.                 while (terminado == false){
  82.                         No tienes permisos para ver links. Registrate o Entra con tu cuenta.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.                                 No tienes permisos para ver links. Registrate o Entra con tu cuenta.out.println("***Formato incorrecto***");
  96.                 }
  97.                 return fecha;
  98.         }
  99.        
  100.         static No tienes permisos para ver links. Registrate o Entra con tu cuenta pedirTLF(){
  101.                 boolean terminado = false;
  102.                 No tienes permisos para ver links. Registrate o Entra con tu cuenta TLF = null;
  103.                 while (terminado == false){
  104.                         No tienes permisos para ver links. Registrate o Entra con tu cuenta.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.                                 No tienes permisos para ver links. Registrate o Entra con tu cuenta.out.println("***Formato incorrecto***");
  120.                 }
  121.                 return TLF;
  122.         }
  123.        
  124.         static No tienes permisos para ver links. Registrate o Entra con tu cuenta pedirCIPSNS(){
  125.                 boolean terminado = false;
  126.                 No tienes permisos para ver links. Registrate o Entra con tu cuenta CIPSNS = null;
  127.                 while (terminado == false){
  128.                         No tienes permisos para ver links. Registrate o Entra con tu cuenta.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.                                 No tienes permisos para ver links. Registrate o Entra con tu cuenta.out.println("***Formato incorrecto***");
  142.                 }
  143.                 return CIPSNS;
  144.         }
  145.        
  146.         static No tienes permisos para ver links. Registrate o Entra con tu cuenta pedirCITE(){
  147.                 boolean terminado = false;
  148.                 No tienes permisos para ver links. Registrate o Entra con tu cuenta CITE = null;
  149.                 while (terminado == false){
  150.                         No tienes permisos para ver links. Registrate o Entra con tu cuenta.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.                                 No tienes permisos para ver links. Registrate o Entra con tu cuenta.out.println("***Formato incorrecto***");
  163.                 }
  164.                 return CITE;
  165.         }
  166.        
  167.         public static void main(No tienes permisos para ver links. Registrate o Entra con tu cuenta[] args) {
  168.                
  169.                 boolean terminado = false;
  170.                 No tienes permisos para ver links. Registrate o Entra con tu cuenta nombre = null;
  171.                 No tienes permisos para ver links. Registrate o Entra con tu cuenta dni = null;
  172.                 No tienes permisos para ver links. Registrate o Entra con tu cuenta ss = null;
  173.                 No tienes permisos para ver links. Registrate o Entra con tu cuenta fecha = null;
  174.                 No tienes permisos para ver links. Registrate o Entra con tu cuenta tlf = null;
  175.                 No tienes permisos para ver links. Registrate o Entra con tu cuenta cipsns = null;
  176.                 No tienes permisos para ver links. Registrate o Entra con tu cuenta cite = null;
  177.                 No tienes permisos para ver links. Registrate o Entra con tu cuenta sb = new No tienes permisos para ver links. Registrate o Entra con tu cuenta();
  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"+No tienes permisos para ver links. Registrate o Entra con tu cuenta.getProperty("line.separator")
  191.                                                 +sb.append(nombre+","+dni+","+ss+","+fecha+","+tlf+","+cipsns+","+cite
  192.                                                                 +No tienes permisos para ver links. Registrate o Entra con tu cuenta.getProperty("line.separator")).toString(),"pacientes.csv");
  193.                                 }
  194.                         catch (No tienes permisos para ver links. Registrate o Entra con tu cuenta error) {
  195.                                         //captura excepción
  196.                                         No tienes permisos para ver links. Registrate o Entra con tu cuenta.out.println("***Error de escritura "+error);
  197.                                 }      
  198.                        
  199.                         // Comprobación de la respuesta
  200.                         boolean respuestaTerminada = false;
  201.                         while (!respuestaTerminada){
  202.                                 No tienes permisos para ver links. Registrate o Entra con tu cuenta.out.print("Pulse <S> salir o <A> añadir:");
  203.                                 No tienes permisos para ver links. Registrate o Entra con tu cuenta 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.                                                 No tienes permisos para ver links. Registrate o Entra con tu cuenta.out.println("Respuesta incorrecta");
  217.                         }
  218.                 }
  219.                
  220.                 leer.close();
  221.                
  222.                 No tienes permisos para ver links. Registrate o Entra con tu cuenta.out.println("SALIDA pacientes.csv:");
  223.                 No tienes permisos para ver links. Registrate o Entra con tu cuenta.out.println();
  224.                 No tienes permisos para ver links. Registrate o Entra con tu cuenta.out.println("NC,DNINIE,NSS,FC,TEL,CIPNS,CITE");
  225.                 No tienes permisos para ver links. Registrate o Entra con tu cuenta.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: 1705
Último mensaje Febrero 23, 2015, 10:13:28 am
por Hu3c0
[LIBRO] Programación avanzada en Java - Sonia Jaramillo Valbuena

Iniciado por graphixx

Respuestas: 4
Vistas: 3522
Último mensaje Noviembre 09, 2018, 09:07:14 am
por ivaneliascalu
Java Extremo [Video Cursos Completos] [Español] [ISO] 2009

Iniciado por graphixx

Respuestas: 9
Vistas: 4897
Ú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: 2342
Ú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: 2634
Último mensaje Diciembre 13, 2017, 12:15:55 pm
por Jean Grey