English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
A classe java.util.regex.Matcher representa o motor que executa várias operações de coincidência. Esta classe não possui construtor, pode ser usadamatches()
O método create da classe java.util.regex.Pattern/Obter o objeto deste tipo.
Na expressão regular, as constructs lookbehind e lookahead são usadas para coincidir com padrões específicos antes ou após outros padrões. Por exemplo, se você precisar aceitar5até12uma string de caracteres, a expressão regular será-
"\\A(?=\\w{6,10}
Por padrão, os limites da área do matcher são opacos para construct向前看,向后看和边界匹配, isso significa que essas constructs não podem coincidir com o conteúdo do texto de entrada que está fora dos limites da área.-
import java.util.Scanner; import java.util.regex.Matcher; import java.util.regex.Pattern; public class useTransparentBoundsExample { public static void main(String[] args) { //A expressão regular pode aceitar6até10caracteres String regex = "\\A(?=\\w{6,10} System.out.println("Entrar 5 até 12 caracteres: "); String input = new Scanner(System.in).next(); //Criar um objeto Pattern Pattern pattern = Pattern.compile(regex); //Criar um objeto Matcher Matcher matcher = pattern.matcher(input); //Definir a área como a string de entrada matcher.region(0, 4); //Mudar para o limite transparente if(matcher.find()) { System.out.println("Encontrado"); } else { System.out.println("Encontrado"); } } }
Resultados de saída
Entrar 5 até 12 caracteres: sampleText Match não encontrado
Esta classeO métodouseTransparentBounds()O método aceita valores booleanos, se true for passado para este método, o matcher atual usará faixas transparentes, se false for passado para este método, usará faixas opacas.
import java.util.Scanner; import java.util.regex.Matcher; import java.util.regex.Pattern; public class Example { public static void main(String[] args) { //A expressão regular pode aceitar6até10caracteres String regex = "\\A(?=\\w{6,10} System.out.println("Entrar 5 até 12 caracteres: "); String input = new Scanner(System.in).next(); //Criar um objeto Pattern Pattern pattern = Pattern.compile(regex); //Criar um objeto Matcher Matcher matcher = pattern.matcher(input); //Definir a área como a string de entrada matcher.region(0, 4); //Mudar para o limite transparente matcher = matcher.useTransparentBounds(true); if(matcher.find()) { System.out.println("Encontrado"); } else { System.out.println("Encontrado"); } } }
Resultados de saída
Entrar 5 até 12 caracteres: sampletext Encontrado