使用Django应用程序
这是我的urls.py
urlpattterns = [url(r'^(?P<leagueId>[0-9]+)/(?P<year>[0-9]+)/(?P<team>[\S]+)/$', views.team_detail, name="team_detail"),]
示例网址将是:
http://localhost:8000/123456/2017/Johnny%20Rocket/
我试过玩Pythex,但我无法得到匹配的网址
注意:传递的变量是/ {number} / {year} / {name}
名称可以包含字母数字字符和空格。
答案 0 :(得分:3)
字符类\S
匹配除空白之外的任何内容,%20
在与正则表达式匹配之前被解码为空格。
要匹配字母数字字符和空格,您可以使用[\w\s]
。
答案 1 :(得分:0)
我会使用以下正则表达式:
r"(?P<leagueId>\d+)/(?P<year>\d+)/(?P<team>[^/]+)/$"
一些小改动:
但最重要的是节。我喜欢使用负面字符类。你基本上想要匹配下一个
的所有内容/
这就是
[^/]+
会为你做的。
您可能希望将年份限制为以下范围:
\d{2,4}