Java proporciona expresiones regulares o Regex (en resumen) API para crear patrones de string para buscar, manipular y editar una string en Java. Esta clase se define en el paquete java.util.regex y se centra en la excepción no verificada que significa un error de sintaxis en un patrón de expresión regular. Esta clase se puede declarar usando la siguiente sintaxis,
Sintaxis:
public class PatternSyntaxException extends IllegalArgumentException
Esta clase tiene el siguiente constructor:
PatternSyntaxException(String desc, String regex, int index) // It instantiates a new object of this class
PatternSyntaxException método getPattern()
Este método recupera patrones de expresiones regulares erróneos. Este método se puede invocar en el objeto instanciado de la clase PatternSyntaxException utilizando la siguiente sintaxis.
Sintaxis:
public String getPattern()
Tipo de devolución: este método devuelve una string, es decir, un patrón erróneo.
Ejemplo 1: En este ejemplo, hemos definido un patrón invocando el método compile() de la clase Pattern. Acepta expresión regular (“[“) como argumento y genera un patrón. Luego, estamos llamando al método matcher() en el objeto instanciado de la clase Pattern. Acepta entrada como parámetro. Esto verificará la expresión regular (patrón) en la string de entrada. Además, hemos llamado al método replaceAll() en el objeto comparador. Esto reemplazará cada subsecuencia de la secuencia de entrada que coincida con el patrón por la string de reemplazo dada.
Tenga en cuenta que hemos incluido estas declaraciones dentro de un bloque Try. En este caso, arrojará un error de sintaxis en el patrón de expresión regular y eso se maneja a través del bloque catch. El bloque catch acepta el objeto de la clase PatternSyntaxException y, finalmente, hemos invocado el método getPattern() en este objeto.
Java
// Java program to illustrate the // working of getPattern() method import java.io.*; import java.util.regex.Matcher; import java.util.regex.Pattern; import java.util.regex.PatternSyntaxException; class GFG { private static String regularExpression = "["; private static String input = "GeeksforGeeks " + "is a learning platform."; private static String replace = "Hi"; public static void main(String[] args) { try { // Compile the pattern Pattern pattern = Pattern.compile(regularExpression); // To get a matcher object Matcher matcher = pattern.matcher(input); input = matcher.replaceAll(replace); } catch (PatternSyntaxException e) { // Print the erroneous of the // Regular expression pattern System.out.println("Pattern: " + e.getPattern()); } } }
Pattern: [
Ejemplo 2: En este ejemplo, hemos definido un patrón invocando el método compile() de la clase Patrón. Acepta expresión regular (“{“) como argumento y genera un patrón. Luego, estamos llamando al método matcher() en el objeto instanciado de la clase Pattern. Acepta entrada como parámetro. Esto verificará la expresión regular (patrón) en la string de entrada que es igual a «Geeks» + «es una plataforma de aprendizaje». Además, hemos llamado al método replaceAll() en el objeto comparador. Esto reemplazará cada subsecuencia de la secuencia de entrada que coincida con el patrón por la string de reemplazo dada.
Tenga en cuenta que hemos incluido estas declaraciones dentro de un bloque Try. En este caso, arrojará un error de sintaxis en el patrón de expresión regular y eso se maneja a través del bloque catch. El bloque catch acepta el objeto de la clase PatternSyntaxException y, finalmente, hemos invocado el método getMessage() en este objeto.
Java
// Java program to illustrate the working of getPattern() // method import java.io.*; import java.util.regex.Matcher; import java.util.regex.Pattern; import java.util.regex.PatternSyntaxException; class GFG { // Declaring a string variable to store the regular // expression private static String regularExpression = "{"; private static String input = "GeeksforGeeks " + "is a learning platform."; private static String replace = "Hello"; public static void main(String[] args) { try { // Compile the pattern Pattern pattern = Pattern.compile(regularExpression); // To get a matcher object Matcher matcher = pattern.matcher(input); input = matcher.replaceAll(replace); } catch (PatternSyntaxException e) { // Print the erroneous of the // Regular expression pattern System.out.println("Pattern: " + e.getPattern()); } } }
Pattern: {