English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Metodo pattern() in Java con esempio

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.

Esempio 1

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}$

Esempio 2

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