Java Regex - PatternSyntaxException-Klasse

Einführung

Das java.util.regex.PatternSyntaxException Klasse stellt eine ungeprüfte Ausnahme dar, die ausgelöst wird, um einen Syntaxfehler in einem Muster mit regulären Ausdrücken anzuzeigen.

Klassenerklärung

Es folgt die Erklärung für java.util.regex.PatternSyntaxException Klasse -

public class PatternSyntaxException
   extends IllegalArgumentException

Konstruktoren

Sr.Nr. Methode & Beschreibung
1 PatternSyntaxException(String desc, String regex, int index)

Erstellt eine neue Instanz dieser Klasse.

Klassenmethoden

Sr.Nr. Methode & Beschreibung
1 String getDescription()

Ruft die Beschreibung des Fehlers ab.

2 int getIndex()

Ruft den Fehlerindex ab.

3 String getMessage()

Gibt eine mehrzeilige Zeichenfolge zurück, die die Beschreibung des Syntaxfehlers und seines Index, das fehlerhafte Muster für reguläre Ausdrücke und eine visuelle Anzeige des Fehlerindex innerhalb des Musters enthält.

4 String getPattern()

Ruft das fehlerhafte Muster für reguläre Ausdrücke ab.

Methoden geerbt

Diese Klasse erbt Methoden von den folgenden Klassen:

  • Java.lang.Throwable
  • Java.lang.Object

Beispiel

Das folgende Beispiel zeigt die Verwendung der Klassenmethoden java.util.regex.Pattern.PatternSyntaxException.

package com.tutorialspoint;

import java.util.regex.Matcher;
import java.util.regex.Pattern;
import java.util.regex.PatternSyntaxException;

public class PatternSyntaxExceptionDemo {
   private static String REGEX = "[";
   private static String INPUT = "The dog says meow " + "All dogs say meow.";
   private static String REPLACE = "cat";

   public static void main(String[] args) {
      try{
         Pattern pattern = Pattern.compile(REGEX);
         
         // get a matcher object
         Matcher matcher = pattern.matcher(INPUT); 
         INPUT = matcher.replaceAll(REPLACE);
      } catch(PatternSyntaxException e){
         System.out.println("PatternSyntaxException: ");
         System.out.println("Description: "+ e.getDescription());
         System.out.println("Index: "+ e.getIndex());
         System.out.println("Message: "+ e.getMessage());
         System.out.println("Pattern: "+ e.getPattern());
      }
   }
}

Lassen Sie uns das obige Programm kompilieren und ausführen. Dies führt zu folgendem Ergebnis:

PatternSyntaxException: 
Description: Unclosed character class
Index: 0
Message: Unclosed character class near index 0
[
^
Pattern: [