Вам не нужно экранировать косую черту ни в Java как языке, ни в регулярных выражениях.
Также обратите внимание, что такие блоки:
if (condition) {
return true;
} else {
return false;
}
более компактно и читабельно записываются как:
return condition;
Итак, в вашем случае, я считаю, ваш метод должен быть примерно таким:
public boolean checkDate(String dateToCheck) {
return dateToCheck.matches("[0-9][0-9]/[0-9][0-9]/[0-9][0-9][0-9][0-9]"));
}
Обратите внимание, что это не очень хороший способ проверки допустимых дат - вероятно, стоит попытаться проанализировать его как также или вместо даты, в идеале с помощью API, который позволит вам сделать это без создания исключения в случае сбоя.
Ваше регулярное выражение также можно записать проще:
public boolean checkDate(String dateToCheck) {
return dateToCheck.matches("[0-9]{2}/[0-9]{2}/[0-9]{4}"));
}
person
Jon Skeet
schedule
24.05.2011