正則路(lù)由也(yě)就(jiù)是(shì)采用(yò<♥"ng)正則表達式定義路(lù)由的(de)一(yī)種方式♠'$,依靠強大(dà)的(de)正則表達式,©♦能(néng)夠定義更靈活的(de)路(lù)由規則。
路(lù)由表達式支持的(de)正則定義必須以“/&rdqu₹δ>o;開(kāi)頭,否則就(jiù)視(shì) 為(wèi)規則表達式。也(yě)就(jiù)是(shì)說(shβ♠↓uō)如(rú)果采用(yòng):
'#^blog\/(\d+)$#' => 'Blog/read/id/:1'
方式定義的(de)正則表達式不(bù)會(huì)被支π↕持,而會(huì)被認為(wèi)是(sh φ≥↕ì)規則表達式進行(xíng)解析,從(cóng)而無法正确匹配。
下(xià)面是(shì)一(yī)種正确的(de)正則路(lùδ☆ <)由定義:
'/^new\/(\d{4})\/(\d{2})$/' => 'News/achive?year=:1&mont<λ♥h=:2',
對(duì)于正則表達式中的(de)每個(gè)變量(即正則規則中的(₽≈&✔de)子(zǐ)模式)部分(fēn),如(rú)果需≤&¶要(yào)在後面的(de)路(lù)由地(d∑ ↕ì)址中引用(yòng),可(kě)以采用(yòng↔&):1、:2這(zhè)樣的(de)方式,序号就(jiù)是(sδ↑δ®hì)子(zǐ)模式的(de)序号。
正則定義也(yě)支持函數(shù)過濾處理(lǐ<ββ),例如(rú):
'/^new\/(\d{4})\/(\d{2})$/' => 'News/achive?year=:1|f☆δormat_year&month=:2',
其中 year=:1|format_year 就(jiùΩ✔)表示對(duì)匹配到(dào)的(de)變量進行Ωα≥(xíng)format_year函數(shù)處理₽♣ (lǐ)(假設format_year是(shì)一(yī)個(gè)用✘δ"λ(yòng)戶自(zì)定義函數(shù))。
更多(duō)的(de)關于如(rú)何定義正則表達式就(jiù)不(bù)在÷Ω§本文(wén)的(de)描述範疇了(le)。




