Цель:
Привет, я пытаюсь создать регулярное выражение для свойства ввода dash_core_components.Input
"шаблон" для проверки входных значений диапазона года.
У меня есть следующее Python v3.6.3 код, который предоставляет регулярное выражение для проверки входных форматов (действительно для меня ...):
import datetime as dt
full_year_ = dt.datetime.now().year
mill_ = str(full_year_)[0]
century_ = str(full_year_)[1]
decade_ = str(int(str(full_year_)[2]))
prev_decade_ = str(int(str(full_year_)[2]) - 1)
year_ = str(full_year_)[3]
prior_decades = f'{mill_}{century_}[0-{prev_decade_}][0-9]'
current_decade = f'{mill_}{century_}{decade_}[0-{year_}]'
def century():
return f'^({prior_decades})|({current_decade})$'
def century_set():
# Acceptable Examples: 2018, 2019, 2020 | 2018:2020
return f'^\s*({prior_decades}|{current_decade})([,\s]+{prior_decades}|[,\s]+{current_decade}|[,\s]*)*$|'\
f'^\s*({prior_decades}|{current_decade})(\s*:\s*{prior_decades}|\s*:\s*{current_decade}|\s*)?$'
Постановка проблемы:
Что я хотел бы реализовать в century_set()
, если возможно, - это возможность использовать регулярное выражение для проверки допустимости диапазона.
Другими словами:
"2018:2020" >> Valid<br />"2020:2018" >> Invalid
Или ...
Есть ли обходной способ применить дополнительные критерии для проверки ввода для
dash_core_components.Input
?