我希望我的 url 接受 0 个或更多数字(正整数或负整数),我的意思是它应该匹配 '/','/0',...,'/9' 以及 '/-9' ,'/-88'等
这是我正在使用的正则表达式 ^([-]?[0-9]*)/$
。它适用于除“/”之外的所有网址,此正则表达式有什么问题?
编辑:
这是我在项目目录的 urls.py 中的 urlpatterns:
urlpatterns = [
url(r'^admin/', admin.site.urls),
url(r'',include('basecalendar.urls'), name='date'),
]
这是 basecalendar 的 urlpattern
urlpatterns=[
url(r'^([-]?[0-9]*)/$',views.get_date),
]
最佳答案
由于您使用的是 URL,因此您可能希望确保您的 URL 以“/”结尾。此外,这不起作用的原因是您的 url 最后需要一个“/”。因此,url something/
与您的正则表达式不匹配,而 something//
匹配。所有这些观察都是根据您的正则表达式进行的。通常要处理这种情况,您应该在之前的正则表达式之上再添加一个 url,例如:
url(r'^something/$', view),
url(r'^something/([-]?[0-9]*)/$', view),
关于regex - 为什么我的 Django URL 正则表达式不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43470122/