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

Metodo usePattern() di Matcher in Java e esempio

La classe java.util.regex.Matcher rappresenta un motore che esegue vari operazioni di corrispondenza. Questa classe non ha un costruttore, può essere utilizzatamatches()della classe java.util.regex.Pattern crea/ottiene un oggetto di questa classe.

Il metodousePattern()Il metodo accetta un oggetto Pattern che rappresenta un nuovo modello di espressione regolare e lo utilizza per cercare corrispondenze.

Esempio

import java.util.Scanner;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class UsePatternExample {
   public static void main(String[] args) {
      Scanner sc = new Scanner(System.in);
      System.out.println("Inserisci il testo di input:");
      String input = sc.nextLine();
      String regex = "[#%&*]";
      //Creare un oggetto modello
      Pattern pattern = Pattern.compile(regex);
      //Creare un oggetto Matcher
      Matcher matcher = pattern.matcher(input);
      int count = 0;
      while(matcher.find()) {
         count++;
      }
      //Ricerca del modello utilizzato
      System.out.println("Ci sono " + count + " caratteri speciali [# % & *] nel testo fornito");
      //Creare un modello che accetta 5 a 6 caratteri
      Pattern newPattern = Pattern.compile("\\A(?=\\w{5,6}\\z)");
      //Passaggio al nuovo modello
      matcher = matcher.usePattern(newPattern);
      if(matcher.find()) {
         System.out.println("L'input fornito contiene 6 a 15 caratteri");
      } else {
         System.out.println("L'input fornito non contiene 6 a 15 caratteri");
      }
   }
}

Risultato di output

Inserisci il testo di input:
#*mypassword&
Ci sono 3 caratteri speciali [# % & *] nel testo fornito
!!mypassword!
L'input fornito non contiene 6 a 15 caratteri