【问题标题】:Django url regexpDjango url 正则表达式
【发布时间】:2016-06-25 15:53:20
【问题描述】:

我对正则表达式很陌生,现在遇到了一些困难: 我有一个正则表达式

url(r'^users/\w+/$', views.user)

现在我想将字母数字“w+”更改为字母数字加点字符。

我试过了

url(r'^users/([a-zA-Z0-9\.])/$', views.user)

而且它不工作。我得到一个 404 页面。 谁能帮我解决这个问题?

【问题讨论】:

  • 您的正则表达式仅匹配 single 字母数字加点字符...参见例如regex101.com/r/rV0yM0/1
  • “不工作”是什么意思?它与您想要的匹配/不匹配是什么?

标签: regex django


【解决方案1】:

这样写:

url(r'^users/([a-zA-Z0-9.]+)/$', views.user)

我们不使用\ 在字符类中转义.。因此,要匹配字符类中的字符,我们不会对其进行转义。例如:[.]

【讨论】:

    【解决方案2】:
    url(r'^users/([a-zA-Z0-9\.]+)/$', views.user)
    

    添加+

    【讨论】:

    • [\.] 在字符类中将匹配 \ 或 .
    • @shiva 反斜杠将转义下一个字符,无论该字符是否确实需要转义。在这种情况下,[.][\.] 都只会匹配文字 .。匹配文字反斜杠的唯一方法是转义反斜杠,即[\\.]
    • @knbk 谢谢。我不知道。
    猜你喜欢
    • 2011-03-22
    • 2013-07-26
    • 2014-07-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-07-22
    相关资源
    最近更新 更多