regex - 为什么我的 Django URL 正则表达式不起作用

标签 regex django

我希望我的 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/

相关文章:

r - 在 R 中使用正则表达式检测一类字符中的一个或两个重复字符

javascript - 用于以空格分隔的多个单词匹配的正则表达式

c# - 将网页转换为纯文本..?

python - 将上下文从一个序列化程序传递到另一个序列化程序?

python - 从 BinaryField 使用 unicode 记录 sql 时出现 Django UnicodeEncodeError

database - Django 与附加字段的多对多关系

python - 正则表达式 django url

c# - 如何分隔字符串中的段落?

python - 在 Django 中为 PostgreSQL 连接使用纯文本密码是否安全?

django - 如何将多个模型绑定(bind)到一个 ManyToManyField?