Member 13138388 Ответов: 2

Регулярное выражение для выражения даты с проверкой февраля


Я попробовал это выражение, но оно не будет принимать даты, которые находятся до 2010 года, и было бы очень полезно, если бы вы могли сказать мне, где я допустил ошибку.

Что я уже пробовал:

/ ^ ((((((0? [1-9]) | ([1-2] [0-9]) | (3 [0-1])) - (([jJ] [aA] [nN ]) | ([mM] [aA] [rR]) | ([mM] [aA] [yY]) | ([jJ] [uU] [lL]) | ([aA] [uU] [gG]) | ([oO] [cC] [tT]) | ([dD] [eE] [cC]))) | (((0? [1-9]) | ([1-2] [0-9] ) | (30)) - (([aA] [pP] [rR]) | ([jJ] [uU] [nN]) | ([sS] [eE] [pP]) | ([nN] [oO ] [vV]))) | (((0? [1-9]) | (1 [0-9]) | (2 [0-8])) - ([fF] [eE] [bB]) )) - (20 (([13579] [01345789]) | ([2468] [1235679])))) | (((((0? [1-9]) | ([1-2] [0- 9]) | (3 [0-1])) - (([jJ] [aA] [nN]) | ([mM] [aA] [rR]) | ([mM] [aA] [yY]) | ([jJ] [uU] [lL]) | ([aA] [uU] [gG]) | ([oO] [cC] [tT]) | ([dD] [eE] [cC])) » | (((0? [1-9]) | ([1-2] [0-9]) | (30)) - (([aA] [pP] [rR]) | ([jJ] [uU ] [nN]) | ([sS] [eE] [pP]) | ([nN] [oO] [vV])) »| (((0? [1-9]) | (1 [0-9 ]) | (2 [0-9])) - ([fF] [eE] [bB]))) - (20 (([13579] [26]) | ([2468] [048])))) ) $ /

2 Ответов

Рейтинг:
2

Patrice T

Не делай этого :
Используйте регулярное выражение для проверки шаблона, а затем используйте небольшой фрагмент кода для обработки всех особенностей, включая високосные годы.
Используйте последнюю ссылку, чтобы увидеть хороший график вашего регулярного выражения.

Всего несколько интересных ссылок, которые помогут построить и отладить регулярное выражение.
Вот ссылка на документацию по регулярным выражениям:
perlre - perldoc.perl.org[^]
Вот ссылки на инструменты, помогающие создавать регулярные выражения и отлаживать их:
.Объем тестер регулярное выражение - регулярное выражение шторм[^]
Регулярное Средство Выражения Эспрессо [^]
Это показывает вам регулярное выражение в виде красивого графика, который действительно полезен для понимания того, что делает регулярное выражение:
Debuggex: онлайн-тестер визуальных регулярных выражений. JavaScript, Python и PCRE.[^]


Member 13138388

я не могу получить ничего полезного..