關於JS中的正則表達式(2)

特殊字符與字符匹配符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匹配非字符邊界

對特殊字符進行轉義

表達式中用到的一些元字符再也不表示原來的字面意義,,匹配有特殊字面意義的元字符,使用「\」將字符轉爲原義字符。須要進行轉義的有「$」,「(」,「)」,「*」,「.」,「[」,「]」,「?」,「\」,「/」,「^」「{」「}」「|」

相關文章
相關標籤/搜索