1

TornadoのハンドラーにバインドされたURLがあります。例えば

(r'/browse/article/([a-zA-Z0-9_-]+)/([0-9]*)', ArticleHandler),

ただし、引数の数は固定されていないため、一部は、、/browse/article/blahその他はになります/browse/article/blah/2。つまり、最後の引数が存在する場合と存在しない場合があります。

このケースを処理するために単一のハンドラーを使用することはまだ可能ですか?もしそうなら、すべての可能なケースに一致するように正規表現文字列をどのように定式化する必要がありますか?

4

1 に答える 1

8

これを試して:

(r'/browse/article/([a-zA-Z0-9_-]+)(?:/([0-9]*))?', ArticleHandler),

これにより、後で何かに使用される場合に備えて、キャプチャ括弧をそのままにして、最後のセグメントをオプションにします。

于 2012-12-04T18:39:24.137 に答える