Проверка даты регулярного выражения для гггг-мм-дд [дубликат]

TFS / msbuild, создание ссылок на проекты

blockquote>

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

Git рассматривает файлы как содержимое всего хранилища, а не как набор файлов. Поэтому это довольно сложно сделать. В качестве обходного пути, вы можете использовать Git Submodules или Git Subtree :

Проверьте подробную информацию здесь:

Git и Ссылки на проекты Visual Studio

Кроме того, решение, которое мы используем сейчас, заключается в том, чтобы поместить общий код в пакет NuGet . Затем вы можете использовать пакет из любого репозитория, и вам не нужно будет выполнять какие-либо нестабильные настройки git и сохранять контроль доступа, как и должно быть.

Надеюсь, это поможет.

32
задан 14.05.2020, 00:15

4 ответа

Простым будет

\d{4}-\d{2}-\d{2}

Regular expression visualization

Демо Debuggex

, но это не ограничивает месяц 1-12 и дни с 1 по 31.

Есть более сложные проверки, как и в других ответах, кстати, довольно умные. Тем не менее, вы должны проверить правильность даты, потому что нет никаких проверок, если в месяце 28, 30 или 31 день.

20
ответ дан 14.05.2020, 00:15
  • 1
    Большое спасибо это действительно помогает мне. – Asnad Atta 26.03.2020, 09:49

Вы можете проверить это выражение:

^\d{4}[\-\/\s]?((((0[13578])|(1[02]))[\-\/\s]?(([0-2][0-9])|(3[01])))|(((0[469])|(11))[\-\/\s]?(([0-2][0-9])|(30)))|(02[\-\/\s]?[0-2][0-9]))$

Описание:
проверяет дату гггг-мм-дд, гггг мм дд или гггг / мм / дд

удостоверяется, что день находится в допустимых пределах для месяца - НЕ проверяет 29 февраля в високосный год, только в том, что февраль может иметь 29 дней

Совпадения (проверено): 0001-12-31 | 9999 09 30 | 2002/03/03

3
ответ дан 14.05.2020, 00:16
  • 1
    И какой application_controller имеет отношение к двум очень конкретным действиям относительно регистрации пользователя? Очевидно, это принадлежит registrations_controller – Dr.Strangelove 26.03.2020, 09:47

Это будет соответствовать yyyy-mm-dd, а также yyyy-m-d:

^\d{4}\-(0?[1-9]|1[012])\-(0?[1-9]|[12][0-9]|3[01])$

Regular expression visualization

Если вы ищете точное соответствие для yyyy-mm-dd, то попробуйте это

^\d{4}\-(0[1-9]|1[012])\-(0[1-9]|[12][0-9]|3[01])$

или используйте это, если вам нужно найти дату в строке вроде The date is 2017-11-30

\d{4}\-(0?[1-9]|1[012])\-(0?[1-9]|[12][0-9]|3[01])*

https://regex101.com/r / acvpss / 1

80
ответ дан 14.05.2020, 00:17
  • 1
    Возможно, isn' t необходимый для определения " если:: devise_controller" так как контроллер наследован от контроллера завещания:) – Pablo Torrecilla 26.03.2020, 09:49

Вы можете использовать это регулярное выражение, чтобы получить формат гггг-ММ-дд: ((?: 19 | 20) \ d \ d) - (0? [1-9] | 1 [012]) - ([12] [0-9] | 3 [01] | 0? [1-9])

Вы можете найти пример проверки даты: Как проверить дату с помощью регулярного выражения.

4
ответ дан 14.05.2020, 00:17
  • 1
    That' s намного лучше, чем создание помех контроллеру приложения! – Fedcomp 26.03.2020, 09:50
  • 2
    Он хотел yyyy-mm-dd. – wumpz 14.05.2020, 00:18
  • 3
    Я обновил свой ответ. – Hamid Shatu 14.05.2020, 00:18

Теги

Похожие вопросы