常用的元字符.
匹配除換行符以外的任意字符\w
匹配字母或數字或下劃線或漢字\s
匹配任意的空白符\d
匹配數字\b
匹配單詞的開始或結束^
匹配字符串的開始$
匹配字符串的結
常用的限定符*
重復零次或更多次+
重復一次或更多次?
重復零次或一次{n}
重復n次{n,}
重復n次或更多次{n,m}
重復n到m次
常用的反義代碼\W
匹配任意不是字母,數字,下劃線,漢字的字符\S
匹配任意不是空白符的字符\D
匹配任意非數字的字符\B
匹配不是單詞開頭或結束的位置[^x]
匹配除了x
以外的任意字符[^aeiou]
匹配除了aeiou
這幾個字母以外的任意字符
常用的正則表達式
:
匹配中文字符的正則表達式:
[\u4e00-\u9fa5],?[\
一
-\
龥
]
可以
.
評注:匹配中文還真是個頭疼的事,有了這個表達式就好辦了
匹配雙字節字符
(
包括漢字在內
)
:
[^\x00-\xff]
評注:可以用來計算字符串的長度(一個雙字節字符長度計
2
,
ASCII
字符計
1
)
匹配空白行的正則表達式:
\n\s*\r
評注:可以用來刪除空白行
匹配
HTML
標記的正則表達式:
<(\S*?)[^>]*>.*?|<.*??/>
------------
評注:
網上流傳的版本太糟糕,
上面這個也僅僅能匹配部分,
對于復雜的嵌套標記依舊無能
為力
匹配首尾空白字符的正則表達式:
^\s*|\s*$
評注:可以用來刪除行首行尾的空白字符
(
包括空格、制表符、換頁符等等
)
,非常有用的表
達式
匹配
地址的正則表達式:
\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*
評注:表單驗證時很實用
匹配網址
URL
的正則表達式:
[a-zA-z]+://[^\s]*
評注:網上流傳的版本功能很有限,上面這個基本可以滿足需求
匹配帳號是否合法(字母開頭,允許5-16字節,允許字母數字下劃線):^[a-zA-Z][a-zA-Z0-9_]{4,15}$
評注:表單驗證時很實用
匹配國內電話號碼:
\d{3}-\d{8}|\d{4}-\d{7}
評注:匹配形式如
0511-4405222
或
021-87888822
匹配騰訊
號:
[1-9][0-9]{4,}
評注:騰訊
號從
10000
開始
匹配中國郵政編碼:
[1-9]\d{5}(?!\d)
評注:中國郵政編碼為
6
位數字
匹配身份證:
\d{15}|\d{18}
評注:中國的身份證為
15
位或
18
位
匹配
ip
地址:
\d+\.\d+\.\d+\.\d+
評注:提取
ip
地址時有用
匹配特定數字:
^[1-9]\d*$
//
匹配正整數
^-[1-9]\d*$
//
匹配負整數
^-?[1-9]\d*$
//
匹配整數
^[1-9]\d*|0$
//
匹配非負整數(正整數
+?0
)
^-[1-9]\d*|0$
//
匹配非正整數(負整數
+?0
)
^[1-9]\d*\.\d*|0\.\d*[1-9]\d*$
//
匹配正浮點數
^-([1-9]\d*\.\d*|0\.\d*[1-9]\d*)$
//
匹配負浮點數
^-?([1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0)$
//
匹配浮點數
^[1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0$
//
匹配非負浮點數(正浮點數
+?0
)
^(-([1-9]\d*\.\d*|0\.\d*[1-9]\d*))|0?\.0+|0$
//
匹配非正浮點數(負浮點數
+?0
)
評注:處理大量數據時有用,具體應用時注意修正