2011-08-24 54 views
1

在我的urls.py文件中使用此常规espression,我只得到add_or_remove参数中的最后一个字母。 该网址符合我的观点,但我只有d增加和e删除。我究竟做错了什么?URL正则表达式帮助

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

感谢

+0

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

回答

1

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

+0

顺便说一下,您可能会发现regexr.com在调试这些表达式时很有用。 – bcoughlan

1

这是因为[...]比赛从一组任意字符。只是删除护腕(使用(?P<>...)护腕通常是不够的):

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

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

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