Clase de patrón en Java

Las dos clases que admiten expresiones regulares (Regex) son las siguientes, Pattern Class y Matcher Class . Ambas clases trabajan juntas. En un lenguaje simple, podemos pensar en ellos como, si queremos definir un patrón (expresión regular), entonces usamos la Clase de patrón y si queremos hacer coincidir ese patrón con cualquier otra secuencia, usamos la Clase Matcher .

Clase de patrón

Como puede ver en la imagen que se muestra a continuación, la clase de patrón pertenece a java.util.regex (paquete) y el paquete pertenece a java.base (módulo). La clase de patrón no define ningún constructor. Entonces, veamos cómo se crea un patrón. El patrón se crea utilizando el método de fábrica compile() .

Sintaxis: 

static Pattern compile(String pattern)

Aquí, el patrón en el método de compilación es un String . Esta string (patrón) se convierte luego en un patrón que ahora puede usarse para la coincidencia de patrones por parte de la clase Matcher. Una vez que el patrón coincide, devuelve un objeto Pattern que contiene el patrón. El objeto Pattern creado aquí ahora se usará para crear un Matcher . El Matcher se crea llamando al método matcher() definido por Pattern .

Sintaxis: 

Matcher matcher(CharSequence x)

Aquí, x es la secuencia de caracteres con la que se comparará el patrón. Dado que esta es la entrada que está tomando, también se denomina secuencia de entrada. CharSequence es una interfaz que proporciona acceso de solo lectura al conjunto de caracteres.

Ejemplo 1:

Java

// Java Program to Demonstrate Pattern Class
 
// Importing required classes
import java.util.regex.*;
 
// Main class
class GFG {
 
    // Main driver method
    public static void main(String[] args)
    {
        // Creating a pattern
        Pattern pattern = Pattern.compile("GeeksforGeeks");
 
        // Creating a matcher for the input
        Matcher matcher = pattern.matcher("GeeksforGeeks");
 
        // Checking for a match
        // using matches() method
        boolean letsCheck = matcher.matches();
 
        // Display message only
        System.out.println(
            " Let us check whether the pattern matches or not:");
 
        // Condition check whether pattern is matched or not
        if (letsCheck)
 
            // Matched
            System.out.println("Pattern Matched");
        else
 
            // Not matched
            System.out.println("Pattern does not match");
    }
}
Producción

 Let us check whether the pattern matches or not:
Pattern Matched

Ejemplo 2:

Java

// Java Program to Demonstrate Pattern Class
// via usage of find() method
 
// Importing required classes
import java.util.regex.*;
 
// Main class
class GFG {
 
    // Main driver method
    public static void main(String[] args)
    {
        // Creating a pattern
        Pattern pattern = Pattern.compile("GeeksforGeeks");
 
        // Creating a matcher for the input
        Matcher matcher = pattern.matcher(
            "GFG stands for GeeksforGeeks");
 
        // Display message only
        System.out.println(
            "Checking for GFG in GeeksforGeeks: ");
 
        // Determining if the input sequence contains the
        // subsequence that matches the pattern
        // using find() method
        if (matcher.find())
 
            // Found
            System.out.println("subsequence GFG found");
        else
 
            // Not found
            System.out.println("subsequence GFG not found");
    }
}
Producción

Checking for GFG in GeeksforGeeks: 
subsequence GFG found

Publicación traducida automáticamente

Artículo escrito por singhankitasingh066 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 *