正則表示式常用表示式總結
當我們在專案中想方設法地去做驗證,匹配,過濾等操作時,卻發現通過一個正則表示式就解決了,就會有一種踏破鐵鞋無覓處,得來全不費工夫的感覺。就說明了正則表示式用好了是多麼強大。
運算子:
^位於[]中表示取反,位於[]外面表示一行的開頭 $一行的結尾 -範圍 |或者 &&且
字元類:
[abc]a、b、c中的
[^abc]除了a、b、c以外的
[a-zA-Z]a-z和A-Z字母中的
[0-9]數字0-9之間
預定義字元類:
.任何字元(數字也是字元)
\d數字 , 同 [0-9]
\D非數字 ,同[^0-9]
\w大小寫字母和下斜槓, 同 [a-zA-Z_0-9]
\W非大小寫字母和下斜槓, 同[^a-zA-Z_0-9]
數量表示:
X?0個或1個
X*0個或多個
X+1個或多個
X{n}n個
X{n,}n個以上
X{n,m}n-m個
常用正則表示式
正整數
^[0-9]*[1-9][0-9]*$
一個或多個漢字
^[\u0391-\uFFE5]+$
郵政編碼
^[1-9]\d{5}$
QQ號碼
^[1-9]\d{4,10}$
郵箱
^[a-zA-Z_]{1,}[0-9]{0,}@(([a-zA-z0-9]-*){1,}\.){1,3}[a-zA-z\-]{1,}$
使用者名稱(字母開頭 + 數字/字母/下劃線)
^[A-Za-z][A-Za-z1-9_-]+$
手機號碼
^1[3|4|5|8][0-9]\d{8}$
URL
^((http|https)://)?([\w-]+\.)+[\w-]+(/[\w-./?%&=]*)?$
18位身份證號
^(\d{6})(18|19|20)?(\d{2})([01]\d)([0123]\d)(\d{3})(\d|X|x)?$