Python 作为ID的随机字符串的Django URL正则表达式
我需要允许我的URL中的ID匹配Python 作为ID的随机字符串的Django URL正则表达式,python,regex,django,Python,Regex,Django,我需要允许我的URL中的ID匹配 [int]后跟长度为22的随机字符串可以是字母或数字,但决不能有URL不安全的字符串,如/或+或=等。例如,id如下所示: i、 e 4_h-rbVeqURNqc-nPSj5ojfA 10_8 1HJSQURNQC-nPPLkaiZ1 这是Django Docs用于标准id匹配的功能 url(r'^article/(?P<pk>[0-9]+)/?$', views.detail.as_view(), name='article'), url(r
[int]
后跟长度为22的随机字符串可以是字母或数字,但决不能有URL不安全的字符串,如/
或+
或=
等。例如,id如下所示:
i、 e
- 4_h-rbVeqURNqc-nPSj5ojfA
- 10_8 1HJSQURNQC-nPPLkaiZ1
url(r'^article/(?P<pk>[0-9]+)/?$', views.detail.as_view(), name='article'),
url(r'^article/(?P[0-9]+)/?$,views.detail.as_view(),name='article'),
如何使用上述正则表达式匹配/验证我的ID类型
我尝试了
[\w |\w]+
等,但这既不验证也不匹配我的用例您可以使用以下正则表达式:
\d+_([\w-]+){22}
\w
将匹配包含字母字符和字母的任何单词字符以及字符\u
。因此[\w-]+
将匹配长度为1或更多的\w
和-
的任何组合 您可以使用以下正则表达式:
\d+_([\w-]+){22}
\w
将匹配包含字母字符和字母的任何单词字符以及字符\u
。因此[\w-]+
将匹配长度为1或更多的\w
和-
的任何组合 准确地说,\w
匹配[A-Za-z0-9\
,所以你需要额外的-
,但不是额外的\u
。准确地说,\w
匹配[A-Za-z0-9\/code>,所以你需要额外的-
,而不是额外的
。