Skip to main content
 首页 » 编程设计

python之随机字符串的 Django URL 正则表达式作为 ID

2025年05月04日22luoye11

我需要在我的 URL 中允许匹配的 ID

[int]_ 后跟长度为 22 的随机字符串,可以是字母或数字,但不能有 URL 不安全字符串,例如 / 或 + 或 = 等。例如,一个 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]+ 等,但这既不验证也不匹配我的用例

请您参考如下方法:

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

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

\w 将匹配任何包含字母字符和字母和字符 _ 的单词字符。因此 [\w-]+ 将匹配任何\w 和 - 的组合,长度为 1 或更大。