Проверка формата даты Regex на Java - PullRequest
55 голосов
/ 27 января 2010

Мне просто интересно, есть ли способ (может быть, с помощью регулярных выражений) проверить, что входные данные в настольном приложении Java - это в точности строка, форматированная как: "YYYY-MM-DD".

Я искал, но безуспешно.

Спасибо

Ответы [ 11 ]

0 голосов
/ 07 мая 2018

Если вы хотите простое регулярное выражение, то оно не будет точным. https://www.freeformatter.com/java-regex-tester.html#ad-output предлагает инструмент для проверки вашего регулярного выражения Java. Кроме того, внизу вы можете найти некоторые предлагаемые регулярные выражения для проверки даты.

Формат даты ISO (гггг-мм-дд):

^[0-9]{4}-(((0[13578]|(10|12))-(0[1-9]|[1-2][0-9]|3[0-1]))|(02-(0[1-9]|[1-2][0-9]))|((0[469]|11)-(0[1-9]|[1-2][0-9]|30)))$

Формат даты ISO (гггг-мм-дд) с разделителями «-» или «/» или «.» или же ' '. Принудительное использование одного и того же разделителя по дате.

^[0-9]{4}([- /.])(((0[13578]|(10|12))\1(0[1-9]|[1-2][0-9]|3[0-1]))|(02\1(0[1-9]|[1-2][0-9]))|((0[469]|11)\1(0[1-9]|[1-2][0-9]|30)))$

Формат даты в США (мм / дд / гггг)

^(((0[13578]|(10|12))/(0[1-9]|[1-2][0-9]|3[0-1]))|(02/(0[1-9]|[1-2][0-9]))|((0[469]|11)/(0[1-9]|[1-2][0-9]|30)))/[0-9]{4}$

Часы и минуты, 24-часовой формат (ЧЧ: ММ):

^(20|21|22|23|[01]\d|\d)((:[0-5]\d){1,2})$

Удачи

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...