PDA

Показать полную графическую версию : [решено] Проверка коректности даты в строке регэкспом


love_fist911
19-08-2013, 12:20
Добрый день.
Наверняка, тема поднималась не раз, прошу прощения.
Вот что уже имею:
"2013.05.301" -match "201[2-6]\.(0[1-9]|1[0-2])\.(0[1-9]|[12][0-9]|3[01])"
Проблема в том, что мне надо, чтобы истина была только в случае с двумя знаками, а повершелл пропускает с любым колличеством.
Или есть какой-нибудь другой более лаконичных способ проверки строку на соответствие формату даты?

Iska
19-08-2013, 13:05
love_fist911, не делайте так. Иначе далее Вы можете попытаться обрабатывать 31 февраля.

Используйте «try… cath… finally…», например:
try {
$oDate = Get-Date "2013.05.301"
} catch {
# Если ошибка — то, например, присваиваем текущую дату
$oDate = Get-Date
}

$oDate




© OSzone.net 2001-2012