0

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

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

这个值:

app

和其余路径(路径):

/path/for/you/myfile.txt

我将这个 REGEXP 用于 Tornado:

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

我不知道这是否可能,因为我的正则表达式只能获得路径级别。

¿ 正确的正则表达式应该是什么?

4

1 回答 1

1

尝试这个:

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

/这并不神奇,而且您没有将它用作分隔符(就像在 Perl 或 Ruby 中那样),因此不需要对其进行转义。

由于您想捕获 <root> 之后的所有内容,如果它存在,您可以将整个组设为可选。

于 2013-10-24T23:10:21.643 回答