最近在工作中遇到一些表單驗證的問題,其中有項重要的技術(shù)就是利用 正則表達(dá)式來校驗,下面記錄一下學(xué)習(xí)過程,使用的學(xué)習(xí)工具是網(wǎng)站RegExrv2.1。
初識字符集
在匹配模式里,可以定義字符集,每個字符集裝的是拿來匹配的字符,匹配引擎會匹配這個字符集合里的其中一個字符。
定義一個字符集可以使用一組方括號 [ ] , 在這個字符集里放上 ace 這幾個字符。
/[ace]/g
你會看到,匹配的結(jié)果就是:a 或者 c 或者 e 。,如圖所示:

字符集0.jpg
數(shù)字 135 匹配的結(jié)果就是 1 或者 3 或者是 5 。

字符集1.jpg
一個小于號 < ,一個大于號 > 。

字符集2.jpg
從上面的示例可以指導(dǎo),利用字符集匹配的結(jié)果就是在這個字符集里出現(xiàn)的任意一個符號。
在字符集里有些特殊的字符不需要轉(zhuǎn)義,比如一個點 .

字符集3.jpg
這個 . 如果不在字符集里面,那么它就是一個通配符 。 它會匹配除了換行符以外的所有字符。

字符集4.jpg
燃鵝,大家可能也發(fā)現(xiàn)了,裝字符集的方括號,相比較字母、數(shù)字,本身就是特殊字符,所以 [ ] 是需要進(jìn)行轉(zhuǎn)義的。 這時,[ ] 兩者的地位與 1 2 3 平等的,都被當(dāng)成普通字符進(jìn)行匹配了。

字符集5.jpg
字符集的應(yīng)用——否定字符集
集合的相關(guān)概念指出,『存在任意一個元素』的否命題是,『所有元素都不存在』,根據(jù)這個原理,字符集加上表示否定的 ^ 符號,就可以用于構(gòu)建否定字符集。注意:^ 不在字符集中使用時,表示 "以......開頭"。
/[^123]/g
如下圖所示,除了 1、2、3 三個數(shù)字外,其他的字符都會被匹配到。

字符集6.jpg