正則表達式這東西,學起來還算是有點難度,關鍵是要不斷的在實戰中去使用,個把月不用,基本上就快生疏了。所以對於這個東西,還是靠積累!盡量多積累一些比較常用的正則表達式,用的時候直接拿來使用。
web開發中比較常用的也就那麼幾個。
下面作者將工作中常用的一些正則表達式做一個總結。
網址(URL)
[a-zA-z]+://[^s]*
IP地址
(IP Address)((2[0-4]d|25[0-5]|[01]?dd?).){3}(2[0-4]d|25[0-5]|[01]?dd?)
電子郵件
(Email)w+([-+.]w+)*@w+([-.]w+)*.w+([-.]w+)*
QQ號碼
[1-9]d{4,}
HTML標記(包含內容或自閉合)
<(.*)(.*)>.*</1>|<(.*) />
密碼(由數字/大寫字母/小寫字母/標點符號組成,四種都必有,8位以上)
(?=^.{8,}$)(?=.*d)(?=.*W+)(?=.*[A-Z])(?=.*[a-z])(?!.*n).*$
日期(年-月-日)
(d{4}|d{2})-((0?([1-9]))|(1[1|2]))-((0?[1-9])|([12]([1-9]))|(3[0|1]))
日期(月/日/年)
((0?[1-9]{1})|(1[1|2]))/(0?[1-9]|([12][1-9])|(3[0|1]))/(d{4}|d{2})
時間(小時:分鐘, 24小時制)
((1|0?)[0-9]|2[0-3]):([0-5][0-9])漢字(字符)[u4e00-u9fa5]
中文及全角標點符號(字符)
[u3000-u301eufe10-ufe19ufe30-ufe44ufe50-ufe6buff01-uffee]
中國大陸固定電話號碼
(d{4}-|d{3}-)?(d{8}|d{7})
中國大陸手機號碼
1d{10}
中國大陸郵政編碼
[1-9]d{5}
中國大陸身份證號(15位或18位)
d{15}(dd[0-9xX])?
非負整數(正整數或零)
d+
正整數
[0-9]*[1-9][0-9]*
負整數
-[0-9]*[1-9][0-9]*
整數
-?d+小數(-?d+)(.d+)?
以上正則表達式經過多次測試,靠譜度還是挺高的,大家可以放心使用。但因為不同程序或工具的正則表達式略有區別,大家可以根據自己的情況適當的修改。
*