0
在開源django應用程序中注意到了這個urls.py定義。django url正則表達式 - 如何解釋這個?
r'^(?P<username>(?!signout|signup|signin)[\.\w]+)/$
如何解釋(?!signout|signup|signin)
組件?
我明白P<username>
,但我不確定(?!signout|signup|signin)
是幹什麼用的?
在開源django應用程序中注意到了這個urls.py定義。django url正則表達式 - 如何解釋這個?
r'^(?P<username>(?!signout|signup|signin)[\.\w]+)/$
如何解釋(?!signout|signup|signin)
組件?
我明白P<username>
,但我不確定(?!signout|signup|signin)
是幹什麼用的?
這是一個NOT運算符。如果文本不是signout
,signup
或signin
,則匹配。
見Python的re module documentation:
(?!...)
匹配,如果
...
沒有下一場比賽。這是一個負面的前瞻斷言。例如,Isaac (?!Asimov)
只有在'Asimov'
之後纔會匹配'Isaac '
。
啊,對。感謝您參考re模塊。 – 2012-02-28 11:55:21