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

Metodo useAnchoringBounds() con esempio in Java

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.

Esempio 1

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

Esempio 2

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