Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   [решено] Проверка коректности даты в строке регэкспом (http://forum.oszone.net/showthread.php?t=266465)

love_fist911 19-08-2013 12:20 2204003

Проверка коректности даты в строке регэкспом
 
Добрый день.
Наверняка, тема поднималась не раз, прошу прощения.
Вот что уже имею:
Код:

"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 2204029

love_fist911, не делайте так. Иначе далее Вы можете попытаться обрабатывать 31 февраля.

Используйте «try… cath… finally…», например:
Код:

try {
    $oDate = Get-Date "2013.05.301"
} catch {
    # Если ошибка — то, например, присваиваем текущую дату
    $oDate = Get-Date
}

$oDate



Время: 10:33.

Время: 10:33.
© OSzone.net 2001-