Pattern - filtre pour EditText
Bonjour,
j'essai de faire des filtres pour des edittext mais c'est le truc que je ne comprends absolument pas.
J'aimerai faire un filtre de ce format : hh:ss-hh:ss
J'ai fais ceci :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33
|
private boolean checkSyntaxTs(String timestamp) {
boolean isValid = false;
if (timestamp.isEmpty() || timestamp.equals(""))
return true;
String expression = "^[0-9]{2}:[0-9]{2}-[0-9]{2}:[0-9]{2}$";
Pattern pattern = Pattern.compile(expression, Pattern.CASE_INSENSITIVE);
Matcher matcher = pattern.matcher(timestamp);
if (matcher.matches()) {
Log.w("format", "match"); //n'atteins jamais ce point
String[] periode1 = timestamp.split("-");
String[] periode1bis1 = periode1[0].split(":");
String[] periode1bis2 = periode1[1].split(":");
int hh1 = Integer.parseInt(periode1bis1[0]);
int hh2 = Integer.parseInt(periode1bis2[0]);
int mm1 = Integer.parseInt(periode1bis1[1]);
int mm2 = Integer.parseInt(periode1bis2[1]);
if (hh1 < hh2) {
if (hh2 < 24)
isValid = true;
} else if (hh1 == hh2) {
if (mm1 < mm2) {
if (mm2 < 60)
isValid = true;
}
}
}
return isValid;
} |
même si j'entre 02:30-04:40, je n’atteins pas le Log, j'imagine que le pattern n'est pas bon...
Quel serait donc le bon pattern svp ?
Cordialement.