Python 是否可以捕获Tornado中处理程序的可选参数

Python 是否可以捕获Tornado中处理程序的可选参数,python,regex,tornado,Python,Regex,Tornado,我有一个URL绑定到Tornado中的处理程序。e、 g (r'/browse/article/([a-zA-Z0-9_-]+)/([0-9]*)', ArticleHandler), 但是,参数的数量不是固定的,因此一些参数将是/browse/article/blah,其他参数将是/browse/article/blah/2。换句话说,最后一个论点可能存在,也可能不存在 是否仍然可以使用单个处理程序来处理此情况?如果是这样,我应该如何构造正则表达式字符串以匹配所有可能的情况?尝试以下方法:

我有一个URL绑定到Tornado中的处理程序。e、 g

(r'/browse/article/([a-zA-Z0-9_-]+)/([0-9]*)', ArticleHandler),
但是,参数的数量不是固定的,因此一些参数将是/browse/article/blah,其他参数将是/browse/article/blah/2。换句话说,最后一个论点可能存在,也可能不存在

是否仍然可以使用单个处理程序来处理此情况?如果是这样,我应该如何构造正则表达式字符串以匹配所有可能的情况?

尝试以下方法:

(r'/browse/article/([a-zA-Z0-9_-]+)(?:/([0-9]*))?', ArticleHandler),
这使得最后一段是可选的,同时保持捕获括号的完整性,以防以后用于其他用途。

尝试以下方法:

(r'/browse/article/([a-zA-Z0-9_-]+)(?:/([0-9]*))?', ArticleHandler),
这使得最后一段是可选的,同时保持捕获括号的完整性,以防它们用于以后的内容