django url regex - 如何解释这个?

时间:2012-02-28 11:33:13

标签: regex django django-urls

在开源django应用程序中注意到这个urls.py定义。

r'^(?P<username>(?!signout|signup|signin)[\.\w]+)/$

如何解释(?!signout|signup|signin)组件?

我理解P<username>,但我不确定(?!signout|signup|signin)的用途是什么?

1 个答案:

答案 0 :(得分:2)

这是一个NOT运算符。如果文字不是signoutsignupsignin,则匹配。

参见Python的re module documentation

  

(?!...)

     

如果...下次匹配,则匹配。这是一个负面的先行断言。例如,Isaac (?!Asimov)只有在'Isaac '后面没有'Asimov'时才匹配{。}}。