如何通过正则表达式检查网址格式?

时间:2016-10-20 15:04:51

标签: python regex

我的网址格式为

/ EN / 33 /详情

但是数字33是动态的,我必须检查网址是否有 / en / 部分和 / details 部分以及介于两者之间的数字。

我试过检查

if url == r'^/en/(?d[0-9]+)/details':

但我检查了django url regex语法,但它不起作用。我可以知道我哪里出错吗

1 个答案:

答案 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$')  
                             ^