Expresiones Regulares
Guía Nº 4
Validación
1
GUÍA Nº 4 EXPRESIONES REGULARES
IDENTIFICACIÓN DE LA ASIGNATURA
Facultad de Estudios a Distancia - FESAD ESCUELA: Ciencias Tecnológicas
Programa: Tecnólogo en programación de Sistemas Informáticos
Asignatura/Unidad: Programación ll
Nombre de la actividad: Expresiones complejas en Programación
Objetivo de la temática: Conocer la forma práctica de validar cadenas de caracteres,
para diferentes tipos datos de que ofrece java.
Docente-Tutor: Ing. Josué Nicolás Pinzón Villamil
Expresiones regulares
Objetivos Específicos
• Conocer las expresiones regulares y observar la utilidad que prestan a la hora de
validar los datos de una aplicación.
• Conocer la simbología que se utiliza para formar una expresión regular.
¿Qué es una expresión regular?
Una expresión regular, a menudo llamada también patrón, es un término que describe un conjunto
de cadenas sin enumerar sus elementos. Por ejemplo, el grupo formado por las cadenas Handel,
Händel y Haendel se describe mediante el patrón "H(a|ä|ae)ndel". La mayoría de las
formalizaciones proporcionan los siguientes constructores: una expresión regular es una forma de
representar a los lenguajes regulares (finitos o infinitos) y se construye utilizando caracteres del
Expresiones Regulares
Guía Nº 4
Validación
2
alfabeto sobre el cual se define el lenguaje. Específicamente, las expresiones regulares se
construyen utilizando los operadores unión, concatenación y clausura de Kleene1
.[1]
Para conocer más sobre este tema, leer en [1] donde se encuentra la nomenclatura para construir
una expresión regular.
Algunos ejemplos de expresiones regulares son:
[0-9] ó d Acepta solo caracteres que contengan números.
[A-Z] Acepta solo caracteres en mayúscula.
^w+([.-]?w+)*@w+([.-]?w+)*(.w{2,3})+$
Esta expresión es útil cuando se necesita validar el correo electrónico.
[a-zA-Z]+ [0-9] ó w Acepta solo caracteres alfanuméricos
Ahora se va a poner en práctica las expresiones regulares con el siguiente ejercicio:
Se desea desarrollar una aplicación donde se pueda evaluar una cadena de texto e indique si
pertenece a una determinada expresión regular, los patrones a utilizar son: tipo numérico,
alfabético, alfanumérico y validación de un correo electrónico.
Con base a lo anterior se obtiene los siguientes diagramas para el GUI y el negocio:
GUI
1
En lógica matemática y en ciencias de la computación, la clausura de Kleene (también llamada estrella Kleene
o cierre estrella) es una operación unaria que se aplica sobre un conjunto de cadenas de caracteres o un
conjunto de símbolos o caracteres (alfabeto), y representa el conjunto de las cadenas que se pueden formar
tomando cualquier número de cadenas del conjunto inicial, posiblemente con repeticiones, y
concatenándolas entre sí.[2]
Expresiones Regulares
Guía Nº 4
Validación
3
Negocio
class GUI
EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial V
EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial V
EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial V
EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial V
EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial V
EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial V
EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial V
EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial V
EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial V
EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial V
EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial V
EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial V
EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial V
EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial V
EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial V
EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial V
EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial V
EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial V
EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial V
EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial V
EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial V
EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial V
EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial V
EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial V
Eventos
+ ACEPTAR: String = "Aceptar" {readOnly}
+ ALFABETICA: String = "Alfabética" {readOnly}
+ ALFANUMERICA: String = "Alfanumérica" {readOnly}
+ CORREO: String = "e-mail" {readOnly}
+ LIMPIAR: String = "Limpiar" {readOnly}
+ NUMERICA: String = "Numérica" {readOnly}
- ventana: VentanaPrincipal
+ actionPerformed(ActionEvent) : void
+ Eventos(VentanaPrincipal)
PanelExpresion
- opciones: JRadioButton ([])
- textExpresionEvaluar: JTextField
+ getTextoEvaluar() : String
+ PanelExpresion(Eventos)
+ setTextoEvaluar(String) : void
VentanaPrincipal
- buttonAceptar: JButton
- buttonLimpiar: JButton
- eventos: Eventos
- expresion: Expresion
- panel: PanelExpresion
- titleExpresion: JLabel
+ activarAccionAlfabetica() : void
+ activarAccionAlfanumerica() : void
+ activarAccionCorreo() : void
+ activarAccionLimpiar() : void
+ activarAccionNumerica() : void
+ actualizarTitulo() : void
+ evaluarExpresion() : void
+ main(String[]) : void
+ VentanaPrincipal()
JPanel
JFrame
ActionListener
-ventana
-panel
-eventos
Expresiones Regulares
Guía Nº 4
Validación
4
Al realizar el código de la GUI se obtiene la siguiente ventana:
class negocio
EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial Version EA
EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial Version EA
EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial Version EA
EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial Version EA
EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial Version EA
EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial Version EA
EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial Version EA
EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial Version EA
EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial Version EA
EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial Version EA
EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial Version EA
EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial Version EA
EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial Version EA
EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial Version EA
EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial Version EA
EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial Version EA
EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial Version EA
EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial Version EA
EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial Version EA
EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial Version EA
EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial Version EA
EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial Version EA
Expresion
+ EXPRESION_ALFABETICA: String = "[a-zA-Z]" {readOnly}
+ EXPRESION_ALFANUMERICA: String = "[a-zA-Z]+[0-9]" {readOnly}
+ EXPRESION_CORREO: String = "^w+([.-]?... {readOnly}
+ EXPRESION_NUMERO: String = "[0-9]" {readOnly}
- tipo: int
+ TIPO_ALFABETICA: int = 0 {readOnly}
+ TIPO_ALFANUMERICA: int = 2 {readOnly}
+ TIPO_CORREO: int = 3 {readOnly}
+ TIPO_NUMERO: int = 1 {readOnly}
+ getTipo() : int
+ setTipo(int) : void
+ validarExpresion(String) : boolean
Expresiones Regulares
Guía Nº 4
Validación
5
La parte que realmente interesa es la del negocio donde se va explicar cómo se realizó el código.
Las siguientes imágenes muestra el desarrollo del diagrama de clases propuesto:
Expresiones Regulares
Guía Nº 4
Validación
6
Expresiones Regulares
Guía Nº 4
Validación
7
Como se observa se decidió dividir en constantes los diferentes tipos de expresiones, de este modo
permite un manejo más eficiente a la hora de evaluar una cadena, por este motivo fue que se
escogió una estructura tipo swich, la cual permite seleccionar el código a utilizar según el cada caso
y depende de un numero de selección.
Por otro lado se va analizar cada una de las expresiones y como es su sintaxis:
Expresión alfabética: [a-zA-Z]+
Significa que cada carácter evaluado con esta expresión debe estar dentro del lenguaje para este
caso el lenguaje a seguir son las letras minúsculas de la a hasta z, mas las letras en mayúsculas de
la A hasta la Z. Esto es lo definido dentro de los corchetes cuadrado [], ahora el símbolo(+) significa
que puede evaluar más de una carácter es decir una cadena de caracteres.
Expresión Numérica: [0-9]+
Tomando el mismo principio que el anterior el lenguaje de esta expresión está definido entre los
números de 0 al infinito, pero enteros positivos.
Expresión Alfanumérica: [a-zA-Z]+ [0-9]+
Esta expresión une los lenguajes de la expresión alfabética y la numérica, pero con la condición que
la cadena a evaluar al menos el primer carácter de la cadena sea una letra y el segundo un número,
por ejemplo: a1, ea3, shfjkfsdgfhfj3, q325456346.
Expresión correo electrónico:
^w+([.-]?w+)*@w+([.-]?w+)*(.w{2,3})+$
Esta expresión es una combinación de la nomenclatura de las expresiones regulares para Java, esta
indica con (^) que necesariamente la cadena debe comenzar con caracteres alfanuméricos sin
importar su orden (w), el símbolo (+) carácter anterior uno o más veces, ahora [ .-]? Significa
que puede ir solo una vez, ya sea punto o guion, pero es opcional. Con respecto al paréntesis que
termina con * indica que ese tramo de expresión puede repetirse cero a n-veces, luego
encontramos el símbolode @ seguidodemás cadenas alfanuméricas y punto, en la parte de w{2,3}
está diciendo que esa parte de la cadena debe contener mínimo 2 y máximo 3 caracteres y por
último el símbolo de $ significa que es el final de la cadena.
Expresiones Regulares
Guía Nº 4
Validación
8
Entendiendo cómo funcionan las expresiones regulares, ahora observemos que métodos invoca
Java para evaluar las expresiones, existen dos formas de realizar esta validación la primera opción
la brinda un método de la clase String con el método matches (String par), que recibe como
parámetro el patrón con el cual se va a evaluar, para nuestro caso este fue el método utilizado. La
segunda opción es utilizar directamente la librerías Pattern y Matcher [3], visualicemos como
funciona estas dos librerías.
Primero importa las librerías.
Segundo crear los objetos de las dos clases como en el siguiente método:
Expresiones Regulares
Guía Nº 4
Validación
9
Expresiones Regulares
Guía Nº 4
Validación
10
Bibliografía
[1] Expresión regular. (2020). Recuperado 29 March 2020, en
https://es.wikipedia.org/wiki/Expresi%C3%B3n_regular
[2] Clausura de Kleene. (2020). Recuperado 29 March 2020, en
https://es.wikipedia.org/wiki/Clausura_de_Kleene
[3] Java Platform SE 6. (2015). Recuperado 29 March 2020, en
https://docs.oracle.com/javase/6/docs/api/
[4] perfil, V. (2013). Validación con expresiones regulares y Javascript. Retrieved
29 March 2020, from http://maestrojavascript.blogspot.com/2013/10/validacion-
con-expresiones-regulares-y.html
Expresiones Regulares
Guía Nº 4
Validación
11
CONTROL DE CAMBIOS
Fecha Observación Autor
28/04/2020
Se crea guía Nº 4, sobre expresiones
regulares
Mg. Josué Nicolás
Pinzón Villamil

Prog ii excepciones_guia_04

  • 1.
    Expresiones Regulares Guía Nº4 Validación 1 GUÍA Nº 4 EXPRESIONES REGULARES IDENTIFICACIÓN DE LA ASIGNATURA Facultad de Estudios a Distancia - FESAD ESCUELA: Ciencias Tecnológicas Programa: Tecnólogo en programación de Sistemas Informáticos Asignatura/Unidad: Programación ll Nombre de la actividad: Expresiones complejas en Programación Objetivo de la temática: Conocer la forma práctica de validar cadenas de caracteres, para diferentes tipos datos de que ofrece java. Docente-Tutor: Ing. Josué Nicolás Pinzón Villamil Expresiones regulares Objetivos Específicos • Conocer las expresiones regulares y observar la utilidad que prestan a la hora de validar los datos de una aplicación. • Conocer la simbología que se utiliza para formar una expresión regular. ¿Qué es una expresión regular? Una expresión regular, a menudo llamada también patrón, es un término que describe un conjunto de cadenas sin enumerar sus elementos. Por ejemplo, el grupo formado por las cadenas Handel, Händel y Haendel se describe mediante el patrón "H(a|ä|ae)ndel". La mayoría de las formalizaciones proporcionan los siguientes constructores: una expresión regular es una forma de representar a los lenguajes regulares (finitos o infinitos) y se construye utilizando caracteres del
  • 2.
    Expresiones Regulares Guía Nº4 Validación 2 alfabeto sobre el cual se define el lenguaje. Específicamente, las expresiones regulares se construyen utilizando los operadores unión, concatenación y clausura de Kleene1 .[1] Para conocer más sobre este tema, leer en [1] donde se encuentra la nomenclatura para construir una expresión regular. Algunos ejemplos de expresiones regulares son: [0-9] ó d Acepta solo caracteres que contengan números. [A-Z] Acepta solo caracteres en mayúscula. ^w+([.-]?w+)*@w+([.-]?w+)*(.w{2,3})+$ Esta expresión es útil cuando se necesita validar el correo electrónico. [a-zA-Z]+ [0-9] ó w Acepta solo caracteres alfanuméricos Ahora se va a poner en práctica las expresiones regulares con el siguiente ejercicio: Se desea desarrollar una aplicación donde se pueda evaluar una cadena de texto e indique si pertenece a una determinada expresión regular, los patrones a utilizar son: tipo numérico, alfabético, alfanumérico y validación de un correo electrónico. Con base a lo anterior se obtiene los siguientes diagramas para el GUI y el negocio: GUI 1 En lógica matemática y en ciencias de la computación, la clausura de Kleene (también llamada estrella Kleene o cierre estrella) es una operación unaria que se aplica sobre un conjunto de cadenas de caracteres o un conjunto de símbolos o caracteres (alfabeto), y representa el conjunto de las cadenas que se pueden formar tomando cualquier número de cadenas del conjunto inicial, posiblemente con repeticiones, y concatenándolas entre sí.[2]
  • 3.
    Expresiones Regulares Guía Nº4 Validación 3 Negocio class GUI EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial V EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial V EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial V EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial V EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial V EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial V EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial V EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial V EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial V EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial V EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial V EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial V EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial V EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial V EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial V EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial V EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial V EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial V EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial V EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial V EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial V EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial V EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial V EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial V Eventos + ACEPTAR: String = "Aceptar" {readOnly} + ALFABETICA: String = "Alfabética" {readOnly} + ALFANUMERICA: String = "Alfanumérica" {readOnly} + CORREO: String = "e-mail" {readOnly} + LIMPIAR: String = "Limpiar" {readOnly} + NUMERICA: String = "Numérica" {readOnly} - ventana: VentanaPrincipal + actionPerformed(ActionEvent) : void + Eventos(VentanaPrincipal) PanelExpresion - opciones: JRadioButton ([]) - textExpresionEvaluar: JTextField + getTextoEvaluar() : String + PanelExpresion(Eventos) + setTextoEvaluar(String) : void VentanaPrincipal - buttonAceptar: JButton - buttonLimpiar: JButton - eventos: Eventos - expresion: Expresion - panel: PanelExpresion - titleExpresion: JLabel + activarAccionAlfabetica() : void + activarAccionAlfanumerica() : void + activarAccionCorreo() : void + activarAccionLimpiar() : void + activarAccionNumerica() : void + actualizarTitulo() : void + evaluarExpresion() : void + main(String[]) : void + VentanaPrincipal() JPanel JFrame ActionListener -ventana -panel -eventos
  • 4.
    Expresiones Regulares Guía Nº4 Validación 4 Al realizar el código de la GUI se obtiene la siguiente ventana: class negocio EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial Version EA EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial Version EA EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial Version EA EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial Version EA EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial Version EA EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial Version EA EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial Version EA EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial Version EA EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial Version EA EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial Version EA EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial Version EA EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial Version EA EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial Version EA EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial Version EA EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial Version EA EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial Version EA EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial Version EA EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial Version EA EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial Version EA EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial Version EA EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial Version EA EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial Version EA Expresion + EXPRESION_ALFABETICA: String = "[a-zA-Z]" {readOnly} + EXPRESION_ALFANUMERICA: String = "[a-zA-Z]+[0-9]" {readOnly} + EXPRESION_CORREO: String = "^w+([.-]?... {readOnly} + EXPRESION_NUMERO: String = "[0-9]" {readOnly} - tipo: int + TIPO_ALFABETICA: int = 0 {readOnly} + TIPO_ALFANUMERICA: int = 2 {readOnly} + TIPO_CORREO: int = 3 {readOnly} + TIPO_NUMERO: int = 1 {readOnly} + getTipo() : int + setTipo(int) : void + validarExpresion(String) : boolean
  • 5.
    Expresiones Regulares Guía Nº4 Validación 5 La parte que realmente interesa es la del negocio donde se va explicar cómo se realizó el código. Las siguientes imágenes muestra el desarrollo del diagrama de clases propuesto:
  • 6.
  • 7.
    Expresiones Regulares Guía Nº4 Validación 7 Como se observa se decidió dividir en constantes los diferentes tipos de expresiones, de este modo permite un manejo más eficiente a la hora de evaluar una cadena, por este motivo fue que se escogió una estructura tipo swich, la cual permite seleccionar el código a utilizar según el cada caso y depende de un numero de selección. Por otro lado se va analizar cada una de las expresiones y como es su sintaxis: Expresión alfabética: [a-zA-Z]+ Significa que cada carácter evaluado con esta expresión debe estar dentro del lenguaje para este caso el lenguaje a seguir son las letras minúsculas de la a hasta z, mas las letras en mayúsculas de la A hasta la Z. Esto es lo definido dentro de los corchetes cuadrado [], ahora el símbolo(+) significa que puede evaluar más de una carácter es decir una cadena de caracteres. Expresión Numérica: [0-9]+ Tomando el mismo principio que el anterior el lenguaje de esta expresión está definido entre los números de 0 al infinito, pero enteros positivos. Expresión Alfanumérica: [a-zA-Z]+ [0-9]+ Esta expresión une los lenguajes de la expresión alfabética y la numérica, pero con la condición que la cadena a evaluar al menos el primer carácter de la cadena sea una letra y el segundo un número, por ejemplo: a1, ea3, shfjkfsdgfhfj3, q325456346. Expresión correo electrónico: ^w+([.-]?w+)*@w+([.-]?w+)*(.w{2,3})+$ Esta expresión es una combinación de la nomenclatura de las expresiones regulares para Java, esta indica con (^) que necesariamente la cadena debe comenzar con caracteres alfanuméricos sin importar su orden (w), el símbolo (+) carácter anterior uno o más veces, ahora [ .-]? Significa que puede ir solo una vez, ya sea punto o guion, pero es opcional. Con respecto al paréntesis que termina con * indica que ese tramo de expresión puede repetirse cero a n-veces, luego encontramos el símbolode @ seguidodemás cadenas alfanuméricas y punto, en la parte de w{2,3} está diciendo que esa parte de la cadena debe contener mínimo 2 y máximo 3 caracteres y por último el símbolo de $ significa que es el final de la cadena.
  • 8.
    Expresiones Regulares Guía Nº4 Validación 8 Entendiendo cómo funcionan las expresiones regulares, ahora observemos que métodos invoca Java para evaluar las expresiones, existen dos formas de realizar esta validación la primera opción la brinda un método de la clase String con el método matches (String par), que recibe como parámetro el patrón con el cual se va a evaluar, para nuestro caso este fue el método utilizado. La segunda opción es utilizar directamente la librerías Pattern y Matcher [3], visualicemos como funciona estas dos librerías. Primero importa las librerías. Segundo crear los objetos de las dos clases como en el siguiente método:
  • 9.
  • 10.
    Expresiones Regulares Guía Nº4 Validación 10 Bibliografía [1] Expresión regular. (2020). Recuperado 29 March 2020, en https://es.wikipedia.org/wiki/Expresi%C3%B3n_regular [2] Clausura de Kleene. (2020). Recuperado 29 March 2020, en https://es.wikipedia.org/wiki/Clausura_de_Kleene [3] Java Platform SE 6. (2015). Recuperado 29 March 2020, en https://docs.oracle.com/javase/6/docs/api/ [4] perfil, V. (2013). Validación con expresiones regulares y Javascript. Retrieved 29 March 2020, from http://maestrojavascript.blogspot.com/2013/10/validacion- con-expresiones-regulares-y.html
  • 11.
    Expresiones Regulares Guía Nº4 Validación 11 CONTROL DE CAMBIOS Fecha Observación Autor 28/04/2020 Se crea guía Nº 4, sobre expresiones regulares Mg. Josué Nicolás Pinzón Villamil