Django:(\ d +)的解释

时间:2012-08-08 03:32:33

标签: python django

在django书和django网站上,\d+用于从网址捕获数据。语法永远不会解释,D或()的重要性也不在于您可以指定url的该部分中的字符数。这些变量如何,确切地/以什么顺序传递给函数?嗯,确切地说,语法是否有效?你是如何实现它的?不要忘记解释()

3 个答案:

答案 0 :(得分:6)

那是regular expression\d表示数字,+表示“一个或多个”。把它放在parens中指定它是一个捕获组。每个捕获组的内容按它们在正则表达式中出现的顺序传递给处理函数。

Python的正则表达式库是re

作为另一个例子,更复杂的正则表达式可能是(\d+)/(\d+),它将捕获由斜杠分隔的两个不同的一个或多个数字集,并将它们作为两个参数传递(第一个数字字符串作为第一个参数,第二个数字字符串作为第二个参数)到处理函数。

答案 1 :(得分:6)

如果没有进一步的信息,我猜它是正则表达式(或简称“正则表达式”)。这些是许多编程语言中常用的字符串处理机制。在Python中,它们由the re module处理。如果您想了解有关它们的更多信息,可能需要查看一般的正则表达式教程,如http://www.regular-expressions.info/

答案 2 :(得分:1)

它指的是用于从URI中捕获数字ID的数字正则表达式。

Hi-REST约定要求GET / POST / ...的URI由资源的ID终止,在这种情况下,它正在查找数字ID - \d+是一个或多个数字)

将它括在括号中只是一个帮助Django解析正则表达式的约定。

示例:

http://www.amazon.com/dp/0486653552