我的网址格式为
/ EN / 33 /详情
但是数字33是动态的,我必须检查网址是否有 / en / 部分和 / details 部分以及介于两者之间的数字。
我试过检查
if url == r'^/en/(?d[0-9]+)/details':
但我检查了django url regex语法,但它不起作用。我可以知道我哪里出错吗
答案 0 :(得分:1)
Python中没有(?d)
- 就像正则表达式构造一样。
您需要将r'/en/\d+/details'
与re.match
一起使用。
if re.match(r'/en/\d+/details')
re.match
方法将搜索锚定在字符串的开头,因此只有
/en/
- 字符串开头有/en/
,后跟\d+
- 一位或多位数字,/details
- 文字字符串/details
。如果您还需要在最后锚定模式,请附加$
:
if re.match(r'/en/\d+/details$')
^