我有以下两种正则表达式模式。
url(r"^list/(?P<email>[\w.%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,4})?/?", MyFunction_ListAPIView.as_view()),
url(r"^list/(?P<id>[\d+])/$", OtherFunction_ListAPIView.as_view()),
我想为电子邮件和ID具有两个单独的功能。
如果传递了电子邮件,则应调用MyFunction
,但是如果传递十进制值,则应调用OtherFunction
。
我只是像这样传递了一个十进制值-这里11是一个十进制值,而不是正则表达式。但是它仍在调用相同的功能。关于我可能做错了什么建议吗?
http://127.0.0.1:8000/api/job/list/11/
答案 0 :(得分:2)
第一个正则表达式末尾的?/?
使电子邮件成为可选项。我不知道您在网址列表中有什么,但是我建议您在https://regex101.com/尝试使用正则表达式,以便您可以轻松调试任何网址。