正則表達(dá)之字符類(lèi)

字號(hào):


    先說(shuō)一下字符類(lèi)的意思,字符類(lèi)是用于測(cè)試的字符組合.字符類(lèi)是放到中括號(hào)[]中的,可以有效的告訴正則去匹配.在字符類(lèi)又分為五個(gè)簡(jiǎn)單的類(lèi),分別說(shuō)一下
    1.簡(jiǎn)單類(lèi)
    簡(jiǎn)單類(lèi)就是你想要匹配的字母組
    舉例說(shuō)明
    var _class = /[abc]de/gi;
    上面的一個(gè)字符類(lèi)就是一個(gè)簡(jiǎn)單的類(lèi),可以匹配ade,bde,cde.三種,后面的g和i分別是全局和不區(qū)分大小寫(xiě).
    再簡(jiǎn)單類(lèi)中還可以使用unicode編碼
    var _class = /[a\u0062c]de/gi;
    這個(gè)跟上面的一樣,可以匹配ade,bde,cde.三種,后面的g和i分別是全局和不區(qū)分大小寫(xiě).
    2.負(fù)向類(lèi)
    負(fù)向類(lèi)就是你要排除的字母,用上尖號(hào)(^)表示負(fù)向類(lèi)
    舉例//www.forasp.cn 轉(zhuǎn)載請(qǐng)注明
    var _class = /[^abc]de/gi;
    用了負(fù)向類(lèi)^就排除了a,b,c三個(gè)開(kāi)頭的字符串,即 ade,bde,cde都不匹配
    3.范圍類(lèi)
    范圍類(lèi)即指定從一個(gè)字符到另一個(gè)字符的范圍,用中杠(-)表示.
    舉例
    var _class = /[a-c]de/gi;//這就是表示從a到c,即,abc都匹配
    上面的就匹配了ade,bde,cde.三種.也可以加上負(fù)向類(lèi)表示不匹配
    var _class = /[^a-c]de/gi;//這就是表示從a到c,即,abc都不匹配
    4.組合類(lèi)
    組合類(lèi)是有幾種其它類(lèi)的組合而合成的字符類(lèi).
    舉例
    var _class = /[1-9a-c]/gi;
    上面的表達(dá)式就是1-9或者a-c均能匹配,列舉1,2,3,4,5,6,7,8,9,a,b,c
    在此 要注意的是字符內(nèi)部類(lèi)之間不能有空格.還有不能有交叉.
    5.預(yù)定義類(lèi)//www.forasp.cn 轉(zhuǎn)載請(qǐng)注明
    預(yù)定義類(lèi)就是將復(fù)雜的組合類(lèi)預(yù)定義成特定的代碼.
    列舉了javascrip中的預(yù)定義類(lèi)
    代碼 等同于 匹配
    . [^\n\r] 出了換行和回車(chē)以外的任何字符
    \d [0-9] 數(shù)字
    \D [^0-9] 非數(shù)字
    \s [ \t\n\xB\f\r] 空白字符
    \S [^ \t\n\xB\f\r] 非空白字符
    \w [a-zA-Z_0-9] 單詞字符,包括字母下劃線和數(shù)字
    \W [^a-zA-Z_0-9] 非單詞字符
    以上就是常用的正則表達(dá)式的字符類(lèi),常用謹(jǐn)記