У меня есть следующий тип страниц:
- root (
/
)
- сегодняшняя глава (
/929
ИЛИ /929/
), которая в конечном итоге перенаправляет на /929/<CHAPTER>
, где <CHAPTER>
- натуральное число от 1 до 929
- глав (
/929/<CHAPTER>
ИЛИ /929/<CHAPTER>/
), где <CHAPTER>
- натуральное число от 1 до 929
- статьи о главах (
/929/<CHAPTER>/<ARTICLE_ID>
ИЛИ /929/<CHAPTER>/<ARTICLE_ID>/
), где <CHAPTER>
- натуральное число от 1 до 929 и натуральное число, например 1,2 ... 99999999
1-3 типа страниц работают нормально. Четвертый бросок:
Не удается получить / 929/233/3027
Вот код:
app.get("/", rootMiddleware);
app.get("/929[/]{0,1}", todaysChapterMiddleware);
app.get("/929/:chapter(([1-9]|[1-9][0-9]|[1-8][0-9]{2}|9[01][0-9]|92[0-9]))[/]{0,1}", chapterMiddleware);
app.get("/929/:chapter(([1-9]|[1-9][0-9]|[1-8][0-9]{2}|9[01][0-9]|92[0-9]))/:articleId((\d+))[/]{0,1}", articleMiddleware);