Пользовательский запрос Regex для диапазонов дат - PullRequest
0 голосов
/ 30 января 2019

У меня есть веб-приложение MVC.net со страницей поиска.Я хотел бы, чтобы пользователь мог искать записи по заданному году, например, 1979. Однако я знаю, что некоторые опытные пользователи захотят искать диапазоны дат и т. Д. Вместо того, чтобы перепроектировать форму поиска, я подумал, что мог бы добавить некоторые дополнительные функции, позволяяпользователи, чтобы ввести:

  • 1979 просто записи за 1979
  • 1979 + все годы с 1979 года вперед
  • 1979- все годы с 1979 года назад
  • 1979-1985 все годы между 1979 и 1980 годами

Я могу обработать критерии поиска, номне было интересно, каков наилучший способ отработать последовательность, в которую они вступили, какое действие они хотят сделать?Обратите внимание, что они также могут оставить строку поиска пустой, так как на странице есть другие критерии.

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

if (Query == Regex for single year)
{
     SQL = SELECT WHERE Year = Query
}
else if (Query = regex for greater than year) {
     SQL = SELECT WHERE Year >= Query
}
else if (Query = regex for less than year) {
    SQL = SELECT WHERE Year <= Query
}
else if (query = regex for date range) {
    SQL = SELECT WHERE Year >= Query Part A AND Year <= Query Part B
}
else { ignore }

1 Ответ

0 голосов
/ 30 января 2019

Это должно сработать:

([1-9][0-9]{3})([+-]?)([1-9][0-9]{3})?
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...