У меня есть этот RegEx здесь
^([12]\d{3})(?:[.](10|11|12|(?:0[1-9]))(?:[.](30|31|(?:0[1-9])|(?:[12]\d)))?)?$
Цель состоит в том, чтобы захватить: yyyy, yyyy.mm или yyyy.mm.dd как допустимые строки даты для поля ввода. Это делает это хорошо, однако, оказывается, что это должно быть наоборот.
Я пытался повернуть вспять процесс, но я продолжаю терпеть неудачу и не могу понять это. Как мне сделать так, чтобы это было: yyyy, mm.yyyy или dd.mm.yyyy как действительные строки даты?
(Следует отметить, что регулярное выражение для меня по сути магическое c. это интуитивно.)