English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
a classe java.util.regex.Matcher representa o motor de execução de várias operações de matching. Esta classe não tem construtor, pode ser usadamatches()
método da classe java.util.regex.Pattern cria/obtém o objeto deste tipo.
a borda de ancoragem é usada para matching de área, por exemplo ^ e $. Pelo padrão, o matcher usa a borda de ancoragem.
esta classedo métodouseAnchoringBounds()o método aceita um valor booleano, se true for passado para este método, o matcher atual usará a faixa de ancoragem; se false for passado para este método, será usada uma faixa não fixa.
import java.util.Scanner; import java.util.regex.Matcher; import java.util.regex.Pattern; public class Trail { public static void main( String args[] ) { //lê o valor da string Scanner sc = new Scanner(System.in); System.out.println("Insira a string de entrada"); String input = sc.nextLine(); //expressão regular para encontrar números String regex = ".*\\d+.*"; //compila a expressão regular Pattern pattern = Pattern.compile(regex); //imprime a expressão regular System.out.println("Expressão regular compilada: "+pattern.toString()); //pesquisa o objeto do matcher Matcher matcher = pattern.matcher(input); matcher.useAnchoringBounds(false); boolean hasBounds = matcher.hasAnchoringBounds(); if(hasBounds) { System.out.println("Current matcher uses anchoring bounds"); } else { System.out.println("Current matcher uses non-bounds de ancoragem"); } } }
Resultado de saída
Insira a string de entrada sample Expressão regular compilada: .*\d+.* o matcher atual usa não-bounds de ancoragem
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"); } else { System.out.println("Match not found"); } System.out.println("Has anchoring bounds:");+matcher.hasAnchoringBounds()); } }
Resultado de saída
Match found Has anchoring bounds: false