#
位於行首時表示注釋。
[f]forbidden(禁止): 命令伺服器返回 403 forbidden錯誤給使用者瀏覽器
[l]last rule(最後一條規則): 告訴伺服器在本條規則執行完後停止重寫url
[n]next(下一條規則): 告訴伺服器繼續重寫,指導所有重寫指令都執行過
[g]gone(丟失): 命令伺服器返回410 gone(no longer exists)錯誤訊息
[p]proxy(**): 告訴伺服器通過
mod_proxy模組處理使用者請求
[c]chain(**): 告訴伺服器將當前的規則和前面的規則進行**
[r]redirect(重定向): 命令伺服器發出重定向訊息,以便使用者瀏覽器發出rewritten/modified(重寫/修改)url的請求
[nc]
no case(不區分大小寫): 對客戶端請求的url不區分大小寫
[pt]
pass through(放行): 讓mod_rewrite模組將重寫的url傳回給apache做進一步處理
[or]
or(邏輯或): 用邏輯「或」將兩個表示式連線在一起,如果結果為「真」,則會應用後繼的相關規則
[ne]
no escape(禁用轉義): 命令伺服器在輸出時禁用轉義字元
[ns]
no subrequest(禁用子請求): 如果存在內部子請求,則跳過當前命令
[qsa]
[s=x]
skip(跳過): 如果滿足某指定的條件,則跳過後面第x調規則
[e=variable:value]
environmental variable(環境變數): 命令伺服器將值value賦給變數variable
[t=mime-type]
mime type(mime型別): 宣告目標資源所屬的mime型別
匹配乙個字元集合,例如[xyz]可以匹配x, y或者z
+ 例如[xyz]+會以任何順序、次數匹配x,y,z的出現
[^]字元^表示字符集的
補集。[^xyz]將匹配沒有x,y或者z的字串
[a-z]
連字元(-)表示匹配從字母a到字母z的所有字串
a 指定字母a出現的次數為n次,滿足該條件時匹配。例如x僅與***匹配
a 指定字母a出現的次數至少為n次,例如x可以與***或者***x等匹配
a 指定a出現的次數至少為n到m次。
()用於將正規表示式分組,滿足第一組正規表示式的字串會被儲存在變數
$1中,以此類推。如果括號中的不是正規表示式,例如(perishable)?press 將能夠匹配有或者沒有perishable字首的press
^ 位於行首。注意:和中括號中的[^]意義不同。
$ 位於行末
? 例如 monzas? 會匹配 monza 或者 monzas,而 mon(za)? 會匹配 mon 或者 monza。又如 x? 會匹配「空字元」 或者 乙個x
! 邏輯非。例如「!string」 將會匹配除了「string」以外的所有字串
. 表示任意字串
- 命令apache「不要」重寫url,例如「***.domain.com.* – [f]」
+ 匹配至少乙個任意字元,例如g+匹配以g開頭、並且後面至少有乙個字元的字串
* 匹配零個或多個字元,例如「.*」匹配任意字串
| 邏輯「或」,與[or]不同的是,它只匹配字串,例如(x|y)匹配x或者y
\ 轉義字元。可以轉義左括號( 尖字元^ 美元符號$ 感嘆號! 點. 星號* 管道符號| 右括號) 等
\.轉義為點字元(點字元在正規表示式中可以匹配任意字元)
/*零個或多個正斜槓
.*零個或多個任意字元(即,匹配任意字串,包括空字元)
^$匹配「空字元」、「空行」
^.*$
匹配任意字串(僅限一行)
[^/.]
匹配既非「正斜槓」也不是「點」的任意字元
[^/.]+
匹配第乙個字元既非「正斜槓」也不是「點」,後繼字元可以是「正斜槓」或者「點」的字串
匹配「http://」
^domain.*
匹配以「domain」開始的字串
^domain\.com$
僅匹配「domain.com」
-d測試字串是否是已存在的目錄
-f測試字串是否是已存在的檔案
-s測試字串所指檔案是否有「非零」值
正規表示式 正規表示式 總結
非負整數 d 正整數 0 9 1 9 0 9 非正整數 d 0 負整數 0 9 1 9 0 9 整數 d 非負浮點數 d d 正浮點數 0 9 0 9 1 9 0 9 0 9 1 9 0 9 0 9 0 9 1 9 0 9 非正浮點數 d d 0 0 負浮點數 正浮點數正則式 英文本串 a za z...
正規表示式 表示式
網域名稱 a za z0 9 a za z0 9 a za z0 9 a za z0 9 interneturl a za z s 或 http w w w 手機號碼 13 0 9 14 5 7 15 0 1 2 3 5 6 7 8 9 18 0 1 2 3 5 6 7 8 9 d 號碼 x x x...
Linux正規表示式 編寫正規表示式
為了所有實用化的用途,你可以通過使用程式產生正確的結果。然而,並不意味著程式總是如你所願的那樣正確地工作。多數情況下,如果程式不能產生想要的輸出,可以斷定真正的問題 排除輸入或語法錯誤 在於如何描述想要的東西。換句話說,應該考慮糾正問題的地方是描述想要的結果的表示式。表示式不完整或者公式表示得不正確...