English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
La classe java.util.regex.Matcher rappresenta il motore che esegue varie operazioni di corrispondenza. Questa classe non ha costruttore, può essere utilizzatamatches()
Il metodo della classe java.util.regex.Pattern crea/ottiene l'oggetto di questa classe.
I limiti di ancoraggio sono utilizzati per la corrispondenza dell'area, ad esempio ^ e $. Di default, il matcher utilizza i limiti di ancoraggio.
Questa classeIl metodouseAnchoringBounds()Il metodo accetta un valore booleano, se si passa true a questo metodo, il matcher corrente utilizzerà i limiti di posizionamento; se si passa false a questo metodo, utilizzerà limiti non fissi.
import java.util.Scanner; import java.util.regex.Matcher; import java.util.regex.Pattern; public class Trail { public static void main( String args[] ) { //Lettura del valore della stringa Scanner sc = new Scanner(System.in); System.out.println("Inserisci stringa di input"); String input = sc.nextLine(); //Espressione regolare per trovare numeri String regex = ".*\\d+.*"; //Compilazione dell'espressione regolare Pattern pattern = Pattern.compile(regex); //Stampa l'espressione regolare System.out.println("Espressione regolare compilata: " + pattern.toString()); //Ricerca dell'oggetto matcher Matcher matcher = pattern.matcher(input); matcher.useAnchoringBounds(false); boolean hasBounds = matcher.hasAnchoringBounds(); if(hasBounds) { System.out.println("L'attuale matcher utilizza limiti ancorati"); } System.out.println("L'attuale matcher utilizza limiti non ancorati"); } } }
Risultato di output
Inserisci stringa di input esempio Espressione regolare compilata: .*\d+.* L'attuale matcher utilizza limiti non ancorati
import java.util.regex.Matcher; import java.util.regex.Pattern; public class Sample { public static void main( String args[] ) { String regex = "^<foo>.*"; String input = "<foo><bar>";//Hi</i></br> welcome to w3codebox"; Pattern pattern = Pattern.compile(regex); Matcher matcher = pattern.matcher(input); matcher = matcher.useAnchoringBounds(false); if(matcher.matches()) { System.out.println("Match found"); } System.out.println("Match not found"); } System.out.println("Has anchoring bounds: " + matcher.hasAnchoringBounds()); } }
Risultato di output
Match found Has anchoring bounds: false