特殊字符與字符匹配符ide
特殊字符編碼
\xn匹配ASCII碼值等於n的字符,n必須是兩位十六進制整數。例:\x41匹配字符「A」。能夠表示全部非打印字符。字符串
\n此處的n是一個一位的八進制數(0-7)。若是\n前面至少有n個匹配子捕獲,那麼\n是反向引用。it
\nm是此處的m和n都是一個一位的八進制數(0-7)。若是\mn前面至少有n個匹配子捕獲,那麼\mn是反向引用。class
\nm1是當n是八進制數(0-3),m和1是八進制數(0-7)時,匹配ASCII碼值等於八進制的nml字符。引用
\un匹配Unicoe編碼等於n的字符。此處的n必須是一個4位的十六進制整數。例:\u00A9匹配版權符號英文
\cx匹配由x指定的控制字符。例:\cM匹配Ctrl+M表示的控制字符,即回車符。X的值必須在A-Z或a-z之間,不然c就是字面意義上的字符「c」di
字符匹配符view
[...]匹配方括號中包含的字符集中的任意一個字符。例:[abc]能夠與a,b,c3個字符中任何一個匹配。若是字符集中要包含]字符,須要將其放在第一位,即緊跟在[後面。若要在[...]中包含\,要用\\。vi
[^...]匹配方括號中未包含的任意字符。例:[^abc]可匹配a,b,c,3個字符之外的任何字符。
[a-z]匹配任何指定範圍內的任意字符。例如,[1-9]匹配1-9之間任何數字字符。若要在方括號中包含連字符-,能夠用"\"將其標記爲原義字符,例[a\-z]或[-a-z]或[a-z-]。
[^a-z]匹配不在指定範圍內的任何字符。
\d匹配任意一個數字字符
\D匹配任意一個非數字字符
\s匹配任意空白字符,包括空格、製表符和換頁符等,等效於[\f\n\r\t\v]
\S匹配任意非空白字符
\w匹配任意英文字母和數字類字符以及下劃線
\W匹配任何非英文字母和數字類字符,但不包括下劃線
.匹配除\n以外的任何單個字符。例:(.)\1匹配除\n以外的兩個連續的相同字符
定位符與原義字符
用於文本驗證的定位符
用^匹配目標字符串的開始位置,也用於行首匹配,即與\n和\r以後的位置匹配
用$匹配目標字符串結尾位置,也可用於行尾匹配
\b匹配一個字邊界,包含字與空格間的位置,以及目標字符串的開始和結束位置,例:er\b匹配neverok中的er,不匹配verb中的er。
\B匹配非字符邊界
對特殊字符進行轉義
表達式中用到的一些元字符再也不表示原來的字面意義,,匹配有特殊字面意義的元字符,使用「\」將字符轉爲原義字符。須要進行轉義的有「$」,「(」,「)」,「*」,「.」,「[」,「]」,「?」,「\」,「/」,「^」「{」「}」「|」