【问题标题】:URL regular expression helpURL 正则表达式帮助
【发布时间】:2011-11-02 10:00:01
【问题描述】:

在我的urls.py 文件中使用这个常规表达式,我只得到了 add_or_remove 参数中的最后一个字母。 该网址符合我的看法,但我只得到d 用于添加和e 用于删除。我做错了什么?

r'(?P<add_or_remove>[add|remove])/'

谢谢

【问题讨论】:

  • 我不熟悉 Django,但括号 [] 表示正则表达式中的字符集。所以 [add] = a 或 d 或 d。尝试使用括号 () 而不是方括号。

标签: python regex django django-urls


【解决方案1】:

我承认我不熟悉 Python。但是如果你试图捕获 addremove,你的语法是错误的。也就是说,您不需要括号,因为这是字符集的符号 - 匹配集合中的任何字符。

r'(?P<add_or_remove>add|remove)/'

【讨论】:

    【解决方案2】:

    这是因为[...] 匹配集合中的任何字符。只需移除护腕(使用 (?P&lt;&gt;...) 的护腕通常就足够了):

    r'(?P<add_or_remove>add|remove)/'
    

    【讨论】:

      【解决方案3】:

      将方括号更改为圆括号 ()。它现在的方式匹配任何字符add|re等...

      【讨论】:

      • 顺便说一句,您可能会发现 regexr.com 在调试这些类型的表达式时很有帮助。
      猜你喜欢
      • 1970-01-01
      • 2014-11-30
      • 1970-01-01
      • 2011-06-10
      相关资源
      最近更新 更多