正则表达式匹配referer

时间:2013-03-05 00:38:52

标签: python regex django

如果视图具有特定的基础引用,我想设置一个简单的通知。

假设我登陆http://myapp.com/page/而我来自http://myapp.com/other/page/1。这是我的伪代码的一个例子,基本上如果我来自任何页面/ X我想设置通知。

我认为它可能类似于^r^myapp.com/other/page/$,但我对如何在python中使用正则表达式并不熟悉。

from django.http import HttpRequest
def someview(request): 
     notify = False
     ... # other stuff not important to question
     req = HttpRequest()
     test = req.META['HTTP_REFERER'] like "http://myapp.com/other/page*"
     # where * denotes matching anything past that point and the test returns T/F
     if test:
        notify = True

    return # doesn't matter here

这可能更像是“我如何在此上下文中使用正则表达式”而不是具体的django问题。

1 个答案:

答案 0 :(得分:2)

你可以选择这样的东西:

import re
referrer = "http://myapp.com/other/page/aaa"
m = re.match("^http://myapp.com/other/page/(.*)", referrer)
if m:
    print m.group(1)