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()); } } }
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()); } } }
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