Java - персонаж с косой чертой - PullRequest
5 голосов
/ 24 мая 2011

Может кто-нибудь сказать мне, как я использую escape-символ прямой косой черты в Java. Я знаю, что обратная косая черта \ \, но я пробовал \ / и / / без удачи!

Вот мой код: -

public boolean checkDate(String dateToCheck) {  
    if(dateToCheck.matches("[0-9][0-9]\ /[0-9][0-9]\ /[0-9][0-9][0-9][0-9]")) {
        return true;
    } // end if.
    return false;
} // end method.

Заранее спасибо!

1 Ответ

17 голосов
/ 24 мая 2011

Вам не нужно экранировать косую черту ни в 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}"));
}
...