English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Ecco l'espressione regolare che corrisponde alla data con il formato dd-MM-yyyy.
^(1[0-2]|0[1-9])/(3[01]|[12][0-9]|0[1-9])/[0-9]{4}$
Corrisponde alla data nella stringa con questo formato.
Compilazionecompile()
l'espressione del metodo Pattern.
Salta l'input richiesto comematcher()
Il metodo del Pattern utilizza i parametri per ottenere l'oggetto Matcher.
matches()
Se c'è una corrispondenza, il metodo della classe Matcher restituisce true, altrimenti restituisce false. Pertanto, chiamare questo metodo per verificare i dati.
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}$"; //Crea un oggetto modello Pattern pattern = Pattern.compile(regex); //Abbatte la stringa con il modello già compilato Matcher matcher = pattern.matcher(date); boolean bool = matcher.matches(); if(bool) { System.out.println("Data è valida"); } else { System.out.println("La data non è valida"); } } }
Output dei risultati
La data è valida
matches()
Il metodo della String accetta un'espressione regolare e la abbinamento con la stringa corrente, se corrisponde restituisce true, altrimenti restituisce false. Pertanto, per verificare se la data fornita (in formato stringa) è necessaria-
Ottieni la stringa della data.
matches()
Chiamare il metodo passando l'espressione regolare come parametro.
import java.util.Scanner; public class Just { public static void main(String[] args) { Scanner sc = new Scanner(System.in); System.out.println("Inserisci il tuo nome:"); String name = sc.nextLine(); System.out.println("Inserisci la tua data di nascita:"); String dob = sc.nextLine(); //L'espressione regolare accetta le date nel formato MM-DD-YYY 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 data di nascita fornita è valida"); } else { System.out.println("La data di nascita fornita non è valida"); } } }
Inserisci il tuo nome: Janaki Inserisci la tua data di nascita: 26/09/1989 La data di nascita fornita non è valida
Inserisci il tuo nome: Janaki Inserisci la tua data di nascita: 26/09/1989 La data di nascita fornita è valida