Python中的正则表达式 - 匹配所有不包含的内容...(App Engine)

时间:2011-04-09 22:56:51

标签: python regex google-app-engine

刚开始使用App Engine的webapp框架,但我无法弄清楚这有什么问题:

我的网址结构设置为任何网页以/ x /为前缀的位置。例如..

  

http://site.com/x/my_account

     

http://site.com/x/profile

     

http://site.com/x/admin

等等......

现在我希望能够匹配前缀为/ x /的 NOT 以便由另一个处理程序处理。这将是用户的页面。

EX:

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 / etc处理程序工作正常,但不是其他任何东西转到Profile.ProfileMainHandler,它与任何东西都不匹配。

一如既往地感谢您的耐心等待!

2 个答案:

答案 0 :(得分:2)

应该是这样的:

'^/(?!x/|x$).*$'

答案 1 :(得分:0)

从头到尾按顺序匹配网址。只需在符合.*的所有网址格式后添加/x正则表达式。