Est-ce que l'un d'entre vous sait comment utiliser regex assigné à enum afin de valider si la chaîne s'y adapte?Comment obtenir Regex affecté à certain Enum
0
A
Répondre
0
Vous pouvez définir le modèle directement à la ENUM ...
public enum RecordField {
ACTION_ID(Pattern.compile("[A-Z0-9]{4}")),
TYPE(Pattern.compile("0[1|2|4|5]"));
private Pattern regex;
RecordField(Pattern s) {
this.regex = s;
}
public Boolean matches(String text){
return regex.matcher(text).find();
}
}
3
Vous pouvez donner une méthode ENUM vérifiant
public enum RecordField {
...;
// I always keep the Pattern for regexes that don't change
// to avoid repetetive compilation
private Pattern pattern;
RecordField(String regex) {
pattern = Pattern.compile(regex);
}
public boolean isMatch(String toTest) {
return pattern.matcher(toTest).matches();
}
}
et l'utiliser comme ceci
RecordField.PKN.isMatch(yourString);
Pourriez-vous fournir un exemple d'une chaîne qui s'y adapte et d'une chaîne qui ne l'est pas? – procrastinator