Django将随机字符串的正则表达式标识为ID

时间:2015-05-28 13:13:08

标签: python regex django

我需要在我的网址中允许ID匹配

[int]_后跟长度为22的随机字符串可以是字母或数字,但绝不会有网址不安全的字符串,例如/+=等。例如id看起来像这样:

  • 4_h-rbVeqURNqc-nPSj5ojfA
  • 10_81hjsqURNqc-nPPLkaiZ1

这就是Django Docs对标准ID匹配的看法......

url(r'^article/(?P<pk>[0-9]+)/?$', views.detail.as_view(), name='article'),

如何使用上面的正则表达式匹配/验证我的ID类型?

我已尝试[\w|\W]+等,但这不会验证也不匹配我的用例

1 个答案:

答案 0 :(得分:6)

您可以使用以下正则表达式:

\d+_([\w-]+){22}

\w将匹配包含字母字符和字母及字符_的任何字词。因此[\w-]+将匹配\w-的任意组合。 1个或更多。