当前,我有三个映射到ServiceHandler的URL路径。如何将这三个合并为一个整齐的正则表达式,可以将n个参数传递给ServiceHandler?

(r'/s/([^/]*)', ServiceHandler),
(r'/s/([^/]*)/([^/]*)', ServiceHandler),
(r'/s/([^/]*)/([^/]*)/([^/]*)', ServiceHandler)

最佳答案

(r'^/s/(([^/]*)((/[^/]+)*))$', ServiceHandler)


应该做的技巧来匹配任何数量的

/ s / foo / bar / baz / to / infinity / and / beyond /

您还可以通过执行以下操作将其限制在一定范围内

^/s/(([^/]*)((/[^/]+){0,2}))$


这只会匹配像

/s/foo/bar/baz
/s/foo/bar
/s/foo


但不是

/s/foo/bar/baz/pirate
/s

关于python - 如何在GAE/Python中为n个参数编写RESTful URL路径正则表达式?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1570198/

10-12 19:39