【问题标题】:Django URL regular expressions for random string as ID随机字符串作为 ID 的 Django URL 正则表达式
【发布时间】:2015-05-28 13:13:07
【问题描述】:

我需要在我的 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]+ 等,但这不验证也不匹配我的用例

【问题讨论】:

    标签: python regex django


    【解决方案1】:

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

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

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

    【讨论】:

    • 准确地说,\w 匹配 [A-Za-z0-9_],所以你需要额外的 -,而不是额外的 _
    猜你喜欢
    • 2013-03-29
    • 1970-01-01
    • 1970-01-01
    • 2017-05-30
    • 1970-01-01
    • 1970-01-01
    • 2017-03-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多