从龙卷风网络模式获取完整网址

时间:2013-10-24 22:28:07

标签: python regex url tornado

我使用python Tornado,我想从这个URL中提取:

http://myserver.com/v1/files_get/app/path/for/you/myfile.txt

这个值:

app

和路径(路径)的其余部分:

/path/for/you/myfile.txt

我将这个REGEXP用于龙卷风:

tornado.web.Application([
    (r"/v1/files_get/(?P<root>[^\/]+)/?(?P<path>[^\/]+)?/?", files_get),
])

我不知道是否可能,因为我的正则表达式只获得了路径的水平。

¿它应该是正确的正则表达式吗?

1 个答案:

答案 0 :(得分:1)

试试这个:

r'/v1/files_get/(?P<root>[^/]+)(?P<path>/.*)?'

/不是魔法,你不是用它作为分隔符(就像你在Perl或Ruby中那样),所以它不需要被转义。

由于您希望捕获&lt; root&gt;之后的所有内容,如果它存在,您可以将整个组设为可选。