在.htaccess當中可以使用的Regular Expression - 3

前面已經寫了兩篇RegEx的,現在繼續來進行實例部分:

達成目標:任何字
可能情況:life,page,site,infomation
正規語法:[a-z]+
補充說明:這是有找到a-z裡面的字母一個以上的意思.

達成目標:任何字,並且要放在變數裡面方便以後用
可能情況:Life,Page,site,Information
正規語法:([a-z]+) [NC]
補充說明:首先繼續上一個的[a-z]+,然後用()包起來作為變數,最後加上[NC]忽略大小寫.

達成目標:任何字母,後面配上1個數字,並且要放在變數裡面方便以後用
可能情況:Life1,Page2,Site3,Information4
正規語法:([a-z]+)([0-9]) [NC]
補充說明:延續上一個,多加上([0-9])這個參數,不過在這邊是將英文字串以及數字分開為兩個參數

達成目標:任何字母,後面配上1個數字,並且要放在同一個變數裡面方便以後用

可能情況:Life1,Page2,Site3,Information4

正規語法:([a-z]+[0-9]) [NC]

補充說明:延續上一個,不過在這邊是將英文字串以及數字合併成一個參數

達成目標:任何字母,後面配上任何數字,並且要放在同一個變數裡面方便以後用

可能情況:Life341,Page2453,Site3544,Information4545

正規語法:([a-z]+)([0-9]+) [NC]

補充說明:延續上一個,[0-9]後面多了一個+

達成目標:任何字母跟數字的混搭,合併成一個變數

可能情況:11,Li33fe,Pa2454ge,Info33mation

正規語法:([a-z0-9]+) [NC]

補充說明:把[a-z0-9]包在一起,表示只要有找到就算~

達成目標:頁面是用 life/01, site/02 這樣來表示的,需要取得 / 後面的數字做為參數來使用
可能情況:life/01,site/02,info/03
正規語法:[a-z]+/([0-9]+) [NC]
補充說明:首先要找到 [a-z]+ ,然後看有沒有發現 /, 最後則是 [0-9]+ 用 () 包起來做為參數, 別忘了 [NC]忽略大小寫

達成目標:各種隨意的網址,但是中間有條 /, 要將/前與/後分為兩個變數來傳遞

可能情況:life/10.html, site/20.html, xxx/12324.php

正規語法:([^/]+)/(.+)

補充說明:其實這個很難,我想了大概一年才想通(恩,我很弱)….
分成兩個部分來看: ([^/])和 /(.+)

^/ 是說 沒有/ ,
[^/] 只要沒有/就符合條件, 然後用()存入變數1

.+ 是說 找到 . , 然後有1個以上的結果,接著用()存入變數2

變數1與變數2間的/是用來作區格,因為我們的目標裡面就是 變數1/變數2 嘛~

補充說明,如果需要更進一步的.htaccess指引,可以參閱這一篇: (英文)

.HTACCESS files useful tips and tricks


與這篇相關的文章:

2 Comments

  1. Posted 五月 6, 2008 at 4:29 下午 | Permalink

    不錯,很明了.

  2. Posted 五月 6, 2008 at 11:43 下午 | Permalink

    不错~

Post a Comment

Your email is never published nor shared. Required fields are marked *

*
*