Método de compilación de patrones (String, int) en Java con ejemplos

El método compile(String, int) de la clase Pattern se utiliza para crear un patrón a partir de la expresión regular con la ayuda de indicadores donde tanto la expresión como los indicadores se pasan como parámetros al método. La clase Patrón contiene una lista de banderas (constantes int) que pueden ser útiles para hacer que la coincidencia de patrones se comporte de cierta manera. Por ejemplo, el nombre de la bandera CASE_INSENSITIVE se usa para ignorar el caso del texto en el momento de la coincidencia.
Sintaxis:  

public static Pattern compile(String regex, int flags)

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

  • regex : este parámetro representa la expresión regular dada compilada en un patrón.
  • flag : Este parámetro es un número entero que representa Match flags, una máscara de bits que puede incluir CASE_INSENSITIVE, MULTILINE, DOTALL, UNICODE_CASE, CANON_EQ, UNIX_LINES, LITERAL, UNICODE_CHARACTER_CLASS y COMMENTS.

Valor de retorno: este método devuelve el patrón compilado a partir de expresiones regulares y banderas pasadas.
Excepción: este método arroja las siguientes excepciones:  

  • PatternSyntaxException: esta excepción se genera si la sintaxis de la expresión no es válida.
  • IllegalArgumentException: esta excepción se genera si se establecen valores de bit distintos de los correspondientes a los indicadores de coincidencia definidos en los indicadores.

Los siguientes programas ilustran el método de compilación (String, int):
Programa 1: 

Java

// Java program to demonstrate
// Pattern.compile method
 
import java.util.regex.*;
 
public class GFG {
    public static void main(String[] args)
    {
        // create a REGEX String
        String REGEX = "(.*)(for)(.*)?";
 
        // create the string
        // in which you want to search
        String actualString
            = "code of Machine";
 
        // compile the regex to create pattern
        // using compile() method
        Pattern pattern = Pattern.compile(REGEX,
                           Pattern.CASE_INSENSITIVE);
 
        // check whether Regex string is
        // found in actualString or not
        boolean matches = pattern
                              .matcher(actualString)
                              .matches();
 
        System.out.println("actualString "
                           + "contains REGEX = "
                           + matches);
    }
}
Producción: 

actualString contains REGEX = false

 

Programa 2: 
 

Java

// Java program to demonstrate
// Pattern.compile method
 
import java.util.regex.*;
 
public class GFG {
    public static void main(String[] args)
    {
        // create a REGEX String
        String REGEX = ".*org.*";
 
        // create the string
        // in which you want to search
        String actualString
            = "geeksforgeeks.org";
 
        // compile the regex to create pattern
        // using compile() method
        Pattern pattern = Pattern.compile(REGEX,
                             Pattern.CASE_INSENSITIVE);
 
        // check whether Regex string is
        // found in actualString or not
        boolean matches = pattern
                              .matcher(actualString)
                              .matches();
 
        System.out.println("actualString "
                           + "contains REGEX = "
                           + matches);
    }
}
Producción: 

actualString contains REGEX = true

 

Referencias:  
https://docs.oracle.com/javase/10/docs/api/java/util/regex/Pattern.html#compile(java.lang.String, int)

Publicación traducida automáticamente

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