Java Regex - Classe PatternSyntaxException
introduction
le java.util.regex.PatternSyntaxException class représente une exception non vérifiée lancée pour indiquer une erreur de syntaxe dans un modèle d'expression régulière.
Déclaration de classe
Voici la déclaration pour java.util.regex.PatternSyntaxException classe -
public class PatternSyntaxException
extends IllegalArgumentException
Constructeurs
Sr.Non | Méthode et description |
---|---|
1 | PatternSyntaxException(String desc, String regex, int index) Construit une nouvelle instance de cette classe. |
Méthodes de classe
Sr.Non | Méthode et description |
---|---|
1 | String getDescription() Récupère la description de l'erreur. |
2 | int getIndex() Récupère l'index d'erreur. |
3 | String getMessage() Renvoie une chaîne multiligne contenant la description de l'erreur de syntaxe et son index, le modèle d'expression régulière erroné et une indication visuelle de l'index d'erreur dans le modèle. |
4 | String getPattern() Récupère le modèle d'expression régulière erroné. |
Méthodes héritées
Cette classe hérite des méthodes des classes suivantes -
- Java.lang.Throwable
- Java.lang.Object
Exemple
L'exemple suivant montre l'utilisation des méthodes de classe 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());
}
}
}
Compilons et exécutons le programme ci-dessus, cela produira le résultat suivant -
PatternSyntaxException:
Description: Unclosed character class
Index: 0
Message: Unclosed character class near index 0
[
^
Pattern: [