English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Questojava.util.regex.MatcherQuesta classe rappresenta un motore che esegue vari operazioni di abbinamento. Questa classe non ha costruttore, può essere utilizzatomatches()
Il metodo della classe java.util.regex.Pattern per creare/ottenere un oggetto di questa classe.
Questa classe (Matcher) delpattern()Il metodo recupera e restituisce il Pattern (oggetto) interpretato dal Matcher corrente.
import java.util.Scanner; import java.util.regex.Matcher; import java.util.regex.Pattern; public class PatternExample { public static void main(String[] args) { Scanner sc = new Scanner(System.in); System.out.println("Inserisci la tua data di nascita (MM/DD/YYYY)"); String date = sc.next(); String regex = "^(1[0-2]|0[1-9])/(3[01]|[12][0-9]|0[1-9])/[0-9]{4}$"; //Creazione di un oggetto modello Pattern pattern = Pattern.compile(regex); //Creazione di un oggetto Matcher Matcher matcher = pattern.matcher(date); //Verifica della data if(matcher.matches()) System.out.println("La data è valida"); else System.out.println("La data non è valida"); //Ricerca del modello utilizzato Pattern p = matcher.pattern(); System.out.println("Pattern utilizzato per abbinare la data fornita: \n"+p); } }
Risultato di output
Inserisci la tua data di nascita 01/21/2019 La data è valida Pattern utilizzato per abbinare la data fornita: ^(1[0-2]|0[1-9])/(3[01]|[12][0-9]|0[1-9])/[0-9]{4}$
import java.util.Scanner; import java.util.regex.Matcher; import java.util.regex.Pattern; public class PatternExample { public static void main(String args[]) { //Leggi una stringa dall'utente System.out.println("Inserisci una Stringa"); Scanner sc = new Scanner(System.in); String input = sc.next(); //Espressione regolare che abbinamento parole che iniziano con un numero String regex = "^[0-9].*$"; //Compilazione dell'espressione regolare Pattern pattern = Pattern.compile(regex); //Ricerca dell'oggetto matchatore Matcher matcher = pattern.matcher(input); Pattern p = matcher.pattern(); System.out.println("Schema utilizzato per abbinare la stringa di input fornita: "+p); //Verifica se è avvenuto un abbinamento if(matcher.matches()) System.out.println("Il primo carattere è un numero"); else System.out.println("Il primo carattere non è un numero"); } }
Risultato di output
Inserisci una stringa 2esempio Schema utilizzato per abbinare la stringa di input fornita: ^[0-9].*$ Il primo carattere è un numero