Python中的正则表达式 - 匹配所有不包含...的内容 (App Engine)
我刚开始使用App Engine的webapp框架,但我搞不清楚哪里出了问题:
我的网址结构是这样的,所有页面的前面都有一个/x/的前缀。例如:
等等等等……
现在我想让没有/x/前缀的页面由另一个处理程序来处理。这将是用户的页面。
举个例子:
http://site.com/user1
http://site.com/user2
这是我的WSGI应用程序
application = webapp.WSGIApplication([
('/((?!/x/).)*$', Profile.ProfileMainHandler),
('/x', Misc.MainHandler),
('/x/', Misc.MainHandler),
('/x/videos', Videos.VideoHandler),
('/x/videos/add', Videos.VideoAddHandler),
# etc etc, many more to list...
为什么这个不工作呢?/x/开头的处理程序都正常,但其他的页面却没有匹配到Profile.ProfileMainHandler。
一如既往,感谢你的耐心!
2 个回答
0
网址是按照顺序进行匹配的,从第一个到最后一个。只需要在所有匹配 /x
的网址模式后面加上一个 .*
的正则表达式就可以了。
2
应该是这样的:
'^/(?!x/|x$).*$'