2017-08-30 84 views
0

URL結構看鏈接纔可這樣的:<domain>/<version>/<collection>/<sub-collection>/<page>其中域是什麼a-zA-Z0-9\-\_,版本是什麼a-zA-Z0-9\-\_\.(但很可能是唯一1.01.12.0.0等),並收集和兩個子集是可選遵循<domain>限制的組。複雜的Python的正則表達式的Django查看

當前正則表達式是:r'^(?P<domain_slug>[a-zA-Z0-9\-\_]*)\/(?P<version_slug>[a-zA-Z0-9\-\_\.]*)\/(?P<slug>[a-zA-Z0-9\-\_]+)\/$

如何捕獲可選位置,確保最後一個段總是頁面?

此外,這是一個好主意嗎?將它通過Django URL conf並讓視圖函數處理所有工作會更好嗎?

示例網址,可能會包括:
administration/5.0.3/reset-user-password
user/1.0/getting-started/setting-up-an-account
development/3.2/authentication/acl/creating-aco

回答

1

(.*\/)([^\/]*)$將把頁面$ 2和東西你必須解析$ 1。

OP補充說:

以上的伎倆。作爲參考,完整的regex成爲(多內襯可讀性):

^(?P<domain>[a-zA-Z0-9\_\-]*)/ (?P<version>[a-zA-Z0-9\-\_\.]*)/ (?P<collections>.*)/ (?P<page>[^\/]*)$

+0

這打破東西出來最適合我 - 我只是來處理代碼收集小組,這是合理的 –