先說(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)記
更多信息請(qǐng)查看IT技術(shù)專(zhuān)欄