【发布时间】:2016-03-11 05:15:12
【问题描述】:
我有一个网址
http://example.com/embed/comments/?base=default&version=17f88c4&f=fir&t_i=article_25&t_u=http%3A%2F%2Fwww.firstpost.com%2Fsports%2Fkotla-test-22.html%09&t_e=Kotla%20Test20struggle&t_d=Kotla%20Test20struggle&t_t=Kotla%20Test20struggle&s_o=default
查询是 基数、版本、f、t_i、t_u、t_e、t_d、t_t、s_o
约束:
- base、version、f 是必需的。
- 其他 t_i、t_u、t_e、t_d、t_d、s_o 是可选的,即有时可能会出现,有时不会出现。
我需要找到正确的正则表达式。了解了他们并想出了这个
r'^embed/comments/?base=(\w+)&version=(\w+)&f=\w+&t_i=\w+&t_u=.+&t_e=.+&t_d=.+&t_t=.+&s_o=\w+'
我正在使用 django,所以在 urls.py 中,上面的内容应该匹配并且确实如此。
Q.0。如何提取base、version等相关字段?有了约束,正则表达式应该修改成什么?
例如保存论坛,使用下面的正则表达式。我搜索了两个多小时,但找不到 ?P<forum> 的功能是什么
Q.1。 ?P<forum> 是什么意思?
r'^forum/(?P<forum>.+)/$'
附:我是正则表达式的新手,请耐心等待并用更简单的术语解释。非常感谢
【问题讨论】:
-
?P<forum>括号内是命名组,如果该组匹配,您可以将其称为g<forum>或m.group('forum)'参见python re documentation。
标签: python regex django django-urls