English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
A continuación, con dd-MM-Expresión regular para coincidir con la fecha en el formato yyyy.
^(1[0-2]|0[1-9])/(3[01]|[12][0-9]|0[1-9])/[0-9]{4}
Coincidir con la fecha en la cadena en este formato.
Compilarcompile()
La expresión anterior del método de la clase Pattern.
Saltar la cadena de entrada necesaria comomatcher()
El parámetro del método de la clase Pattern, obtiene el objeto Matcher.
matches()
Si ocurre una coincidencia, el método de la clase Matcher devuelve true, de lo contrario devuelve false. Por lo tanto, llame a este método para verificar los datos.
import java.util.regex.Matcher; import java.util.regex.Pattern; public class MatchingDate { public static void main(String[] args) { String date = "01/12/2019"; String regex = "^(1[0-2]|0[1-9])/(3[01]|[12][0-9]|0[1-9])/[0-9]{4}"; //Creación de un objeto de patrón Pattern pattern = Pattern.compile(regex); //Coincidencia del patrón compilado en la cadena Matcher matcher = pattern.matcher(date); boolean bool = matcher.matches(); if(bool) { System.out.println("La fecha es válida"); } else { System.out.println("La fecha no es válida"); } } }
Resultados de salida
La fecha es válida
matches()
El método de la clase String acepta una expresión regular y la compara con la cadena actual, devolviendo true si coinciden, false en caso contrario. Por lo tanto, para verificar si la fecha proporcionada (en formato de cadena) es el formato necesario-
Obtener la cadena de fecha
matches()
Llame al método pasándole como parámetro la expresión regular superior.
import java.util.Scanner; public class Just { public static void main(String[] args) { Scanner sc = new Scanner(System.in); System.out.println("Ingrese su nombre: "); String name = sc.nextLine(); System.out.println("Ingrese su fecha de nacimiento: "); String dob = sc.nextLine(); //La expresión regular con MM-DD-Formato YYY acepta fechas String regex = "^(1[0-2]|0[1-9])/(3[01]|[12][0-9]|0[1-9])/[0-9]{4}"; boolean result = dob.matches(regex); if(result) { System.out.println("La fecha de nacimiento proporcionada es válida"); } else { System.out.println("La fecha de nacimiento proporcionada no es válida"); } } }
Ingrese su nombre: Janaki Ingrese su fecha de nacimiento: 26/09/1989 La fecha de nacimiento proporcionada no es válida
Ingrese su nombre: Janaki Ingrese su fecha de nacimiento: 09/26/1989 La fecha de nacimiento proporcionada es válida