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: [