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 correspondência. A classe não tem construtor, pode usarmatches()
Método Pattern da classe java.util.regex.Pattern cria/Obter o objeto dessa classe.
Na expressão regular, as construções lookbehind e lookahead são usadas para corresponder a padrões específicos antes ou após outros padrões. Por exemplo, se você precisar aceitar5até12caracteres de string, então a expressão regular é-
\\"\\A(?=\\w{6,10}\\z)";
Padrão, os limites da área de correspondência para frente, para trás e correspondência de limite são opacos, ou seja, essas estruturas não podem corresponder ao conteúdo de texto fora da área de correspondência.-
ClassemétodohasTransparentBounds()O método verifica se o matcher atual usa limites transparentes, se sim, retorna true, caso contrário, retorna false.
import java.util.Scanner; import java.util.regex.Matcher; import java.util.regex.Pattern; public class HasTransparentBounds { public static void main(String[] args) { //Expressões regulares que podem aceitar6até10caracteres String regex = \\"\\A(?=\\w{6,10}\\z)"; System.out.println("Enter 5 até 12 caracteres: "); String input = new Scanner(System.in).next(); //Criar um objeto de padrão 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); if(matcher.find()) { System.out.println("Encontrado"); } else { System.out.println("Nenhum match encontrado"); } boolean bool = matcher.hasTransparentBounds(); //Mudar para faixa transparente if(bool) { System.out.println("O matcher atual usa limites transparentes"); } else { System.out.println("O matcher atual usa limites transparentes");-limites transparentes"); } } }
Resultados de saída
Entrar 5 até 12 caracteres: sampletext Match not found Current matcher user non-limite transparente
import java.util.Scanner; import java.util.regex.Matcher; import java.util.regex.Pattern; public class HasTransparentBounds { public static void main(String[] args) { //Expressões regulares que podem aceitar6até10caracteres String regex = \\"\\A(?=\\w{6,10}\\z)"; System.out.println("Enter 5 até 12 caracteres: "); String input = new Scanner(System.in).next(); //Criar um objeto de padrão 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); matcher.useTransparentBounds(true); if(matcher.find()) { System.out.println("Encontrado"); } else { System.out.println("Nenhum match encontrado"); } boolean bool = matcher.hasTransparentBounds(); //Mudar para faixa transparente if(bool) { System.out.println("O matcher atual usa limites transparentes"); } else { System.out.println("O matcher atual usa limites transparentes");-limites transparentes"); } } }
Resultados de saída
Entrar 5 até 12 caracteres: sampletext Encontrado O matcher atual usa limites transparentes