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