Попытка определить диспетчер URL для медленных URL, таких как stackoverflow - PullRequest
1 голос
/ 29 мая 2010

Я использую фреймворк Tornado (Python). У меня работают медлительные URL. Но у меня есть 3 разных записи в диспетчере URL. Мне было интересно, если кто-нибудь может помочь мне превратить его в одну строку.

Вот что у меня есть:

(r"/post/([0-9]+)/[a-zA-Z0-9\-]+", SpotHandler),
(r"/post/([0-9]+)/", SpotHandler),
(r"/post/([0-9]+)", SpotHandler),

Я хочу, чтобы следующие URL-адреса находились в одном месте.

http://domain.com/post/14

http://domain.com/post/14/

http://domain.com/post/14/any-text-it-doesnt-matter-what-it-is

Ответы [ 2 ]

2 голосов
/ 29 мая 2010
r"/post/([0-9]+)(?:/[a-zA-Z_-]+|/)?"
1 голос
/ 29 мая 2010

(r "/ post / ([0-9] +) /? [A-zA-Z _] *", SpotHandler),

"?" означает, что предыдущая вещь может быть там, но не должна быть. «*» означает ноль или более

...