3

我是 python 正则表达式的初学者。那么有人可以帮我理解以下语法吗?

r'^(?P<pk>\d+)/results/$'

我在学习 Django 时遇到了这个说法。

4

1 回答 1

4

表达式分解:

  • ^: 匹配字符串的开头
  • (?P<pk>\d+): 匹配 1 个或多个数字 (0-9) 并将其捕获为命名组pk
  • /results/:匹配文字文本/results/
  • $: 匹配字符串的末尾。

因此,以数字开头,后跟文本/results/匹配的 URL 路径:

1234/results/
42/results/
3/results/

但其他任何事情都没有。

如果在 Django url 配置中使用,数字将被捕获并作为pk关键字参数传递到附加视图中。

于 2013-04-12T09:38:18.840 回答