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

Método hasTransparentBounds () con ejemplo en Java

La clase java.util.regex.Matcher representa el motor que ejecuta varias operaciones de coincidencia. Esta clase no tiene constructor, se puede usarmatches()El método create de la clase java.util.regex.Pattern/Obtener el objeto de esta clase.

En la expresión regular, las construcciones lookbehind y lookahead se utilizan para coincidir con patrones específicos antes o después de otros patrones. Por ejemplo, si necesita aceptar5hasta12caracteres de la cadena, la expresión regular es-

"\\A(?=\\w{6,10}\\z)";

Por defecto, los límites de la región de coincidencia para el desplazamiento hacia adelante, hacia atrás y la coincidencia de borde son opacos, es decir, estas estructuras no pueden coincidir con el contenido del texto de entrada fuera de la región.-

Esta clasedel métodohasTransparentBounds()El método verifica si el comparador actual utiliza límites transparentes, si es así, devuelve true, de lo contrario devuelve false.

ejemplo1

import java.util.Scanner;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class HasTransparentBounds {
   public static void main(String[] args) {
      //La expresión regular puede aceptar6hasta10caracteres
      String regex = "\\A(?=\\w{6,10}\\z)";
      System.out.println("Enter 5 a 12 caracteres: ");
      String input = new Scanner(System.in).next();
      //Crear un objeto de patrón
      Patrón patrón = Patrón.compile(regex);
      //Crear un objeto Matcher
      Matcher matcher = pattern.matcher(input);
      //Establecer la región en la cadena de entrada
      matcher.region(0, 4);
      if(matcher.find()) {
         System.out.println("Coincidencia encontrada");
      } else {
         System.out.println("Coincidencia no encontrada");
      }
      boolean bool = matcher.hasTransparentBounds();
      //Cambiar a límites transparentes
      if(bool) {
         System.out.println("El matcher actual utiliza límites transparentes");
      } else {
         System.out.println("El matcher actual utiliza límites transparentes");-límites transparentes");
      }
   }
}

Resultados de salida

Ingresar 5 a 12 caracteres:
sampletext
No se encontró coincidencia
El comparador actual de usuario no-límites transparentes

ejemplo2

import java.util.Scanner;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class HasTransparentBounds {
   public static void main(String[] args) {
      //La expresión regular puede aceptar6hasta10caracteres
      String regex = "\\A(?=\\w{6,10}\\z)";
      System.out.println("Enter 5 a 12 caracteres: ");
      String input = new Scanner(System.in).next();
      //Crear un objeto de patrón
      Patrón patrón = Patrón.compile(regex);
      //Crear un objeto Matcher
      Matcher matcher = pattern.matcher(input);
      //Establecer la región en la cadena de entrada
      matcher.region(0, 4);
      matcher.useTransparentBounds(true);
      if(matcher.find()) {
         System.out.println("Coincidencia encontrada");
      } else {
         System.out.println("Coincidencia no encontrada");
      }
      boolean bool = matcher.hasTransparentBounds();
      //Cambiar a límites transparentes
      if(bool) {
         System.out.println("El matcher actual utiliza límites transparentes");
      } else {
         System.out.println("El matcher actual utiliza límites transparentes");-límites transparentes");
      }
   }
}

Resultados de salida

Ingresar 5 a 12 caracteres:
sampletext
Coincidencia encontrada
El matcher actual utiliza límites transparentes