Método Matcher region(int, int) en Java con ejemplos

El método region(int, int) de Matcher Class restringe la región que debe coincidir con el patrón. Esta región debe ser menor o igual que la región anterior, pero no mayor. De lo contrario, conduciría a IndexOutOfBoundsException. Este método devuelve un Matcher con la nueva región coincidente.

Sintaxis:

public Matcher region(int startIndex, int endIndex)

Parámetros: Este método toma dos parámetros:

  • startIndex que es el índice inicial de la nueva región restringida.
  • endIndex, que es el índice final de la nueva región restringida.

Valor devuelto: este método devuelve un Matcher con la región, para ser emparejada, restringida.

Excepción: este método arroja una excepción IndexOutOfBoundsException si:

  • startIndex o endIndex es menor que cero,
  • startIndex o endIndex es mayor que la longitud de la secuencia de entrada,
  • startIndex es mayor que endIndex.

Los siguientes ejemplos ilustran el método Matcher.region():

Ejemplo 1:

// Java code to illustrate region() method
  
import java.util.regex.*;
  
public class GFG {
    public static void main(String[] args)
    {
  
        // Get the regex to be checked
        String regex = "(Geeks)";
  
        // Create a pattern from regex
        Pattern pattern = Pattern.compile(regex);
  
        // Get the String to be matched
        String stringToBeMatched
            = "GeeksForGeeks Geeks for For Geeks Geek";
  
        // Create a matcher for the input String
        Matcher matcher
            = pattern.matcher(stringToBeMatched);
  
        System.out.println("Before changing region, "
                           + " Groups found are: ");
  
        while (matcher.find()) {
  
            // Get the group matched using group() method
            System.out.println(matcher.group());
        }
  
        System.out.println("\nAfter changing region, "
                           + " Groups found are: ");
  
        // Restrict the region to 0, 10
        // using region() method
        Matcher matcher1
            = matcher.region(0, 10);
  
        while (matcher1.find()) {
  
            // Get the group matched using group() method
            System.out.println(matcher1.group());
        }
    }
}
Producción:

Before changing region,  Groups found are: 
Geeks
Geeks
Geeks
Geeks

After changing region,  Groups found are: 
Geeks

Ejemplo 2:

// Java code to illustrate region() method
  
import java.util.regex.*;
  
public class GFG {
    public static void main(String[] args)
    {
  
        // Get the regex to be checked
        String regex = "(FGF)";
  
        // Create a pattern from regex
        Pattern pattern
            = Pattern.compile(regex);
  
        // Get the String to be matched
        String stringToBeMatched
            = "FGF GFG GFG FGF";
  
        // Create a matcher for the input String
        Matcher matcher
            = pattern.matcher(stringToBeMatched);
  
        System.out.println("Before changing region, "
                           + " Groups found are: ");
  
        while (matcher.find()) {
  
            // Get the group matched using group() method
            System.out.println(matcher.group());
        }
  
        System.out.println("\nAfter changing region, "
                           + " Groups found are: ");
  
        // Restrict the region to 0, 5
        // using region() method
        Matcher matcher1 = matcher.region(0, 5);
  
        while (matcher1.find()) {
  
            // Get the group matched using group() method
            System.out.println(matcher1.group());
        }
    }
}
Producción:

Before changing region,  Groups found are: 
FGF
FGF

After changing region,  Groups found are: 
FGF

Referencia: https://docs.oracle.com/javase/9/docs/api/java/util/regex/Matcher.html#region-int-int-

Publicación traducida automáticamente

Artículo escrito por Kirti_Mangal y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *