[.net 物件導向程式設計進階] (2) 正規表示式(三) 表示式助手
上面兩節對正規表示式的使用及.NET下使用正規表示式作了詳細說明,本節主要蒐集整理了常用的正規表示式提供參考。
此外為了使用方便,編寫了一個《正規表示式助手》方便測試正規表示式。
1.正規表示式助手
1.1 軟體概述
軟體名稱: |
《正規表示式助手》 |
版本: |
3.5 |
最後更新日期: |
2015/07/04 09:22:00 |
作者: |
YuBinfeng |
執行環境: |
.NET Framework 4.0及以上(常用表示式功能,需要聯網,從部落格園本貼中獲取資料) |
作者部落格: |
http://www.cnblogs.com/yubinfeng/p/4612670.html |
技術交流QQ群: |
467189533 |
下載地址:(點選下載) |
http://files.cnblogs.com/files/yubinfeng/正規表示式助手3.5.rar |
1.2 更新記錄
2015/07/04 09:22:00 Version 3.5
修復未聯網時,開啟應用程式出錯的問題。
2015/07/01 20:00:00 Version 3.1
增加輸入框右鍵選單
增加輸入錯誤表示式,執行後,提示錯誤資訊。
2015/07/01 14:01:01 Version 2.0
更新汽車車牌號碼匹配、汽車發動機號匹配、顏色值匹配
修復常用列表偶爾會出現索引值不存在的BUG。
1.3 助手使用說明
正規表示式助手主要有兩方法的功能:
A.一是可以執行查詢和替換兩種匹配方式
B.二是通過聯網(主要是通過部落格園本貼子的更新資料,載入常用的正規表示式,方便貼子和軟體同步)
1.4 軟體介紹
1.3.1 主介面
1.3.2 自動聯接我的部落格同步獲取最新“常用正規表示式”
1.3.3 點選常用列表,可以將正規表示式加入到除錯視窗
1.3.4 支援查詢和替換兩種模式,表示式選項支援忽略大小寫、單行模式、多行模式、忽略空白和顯式模式等四種。
1.3.4 關於軟體更新,當有新版本時開啟軟體會有提示,也可以主動下載新版本
2.常用正規表示式
常用正規表示式(陸續整理中)
校驗數字類 |
||
序號 |
說明 |
正規表示式 |
1 |
正數字 |
^[0-9]*$ |
2 |
n位的數字 |
^\d{n}$ |
3 |
至少n位的數字 |
^\d{n,}$ |
4 |
m-n位的數字 |
^\d{m,n}$ |
5 |
零和非零開頭的數字 |
^(0|[1-9][0-9]*)$ |
6 |
非零開頭的最多帶兩位小數的數字 |
^([1-9][0-9]*)+(.[0-9]{1,2})?$ |
7 |
帶1-2位小數的正數或負數 |
^(\-)?\d+(\.\d{1,2})?$ |
8 |
正數、負數、和小數 |
^(\-|\+)?\d+(\.\d+)?$ |
9 |
有兩位小數的正實數 |
^[0-9]+(.[0-9]{2})?$ |
10 |
有1~3位小數的正實數 |
^[0-9]+(.[0-9]{1,3})?$ |
11 |
非零的正整數 |
^[1-9]\d*$ |
12 |
非零的負整數 |
^-[1-9]\d*$ |
13 |
非負整數 |
^\d+$ |
14 |
非正整數 |
^-[1-9]\d*|0$ |
15 |
非負浮點數 |
^\d+(\.\d+)?$ |
16 |
非正浮點數 |
^((-\d+(\.\d+)?)|(0+(\.0+)?))$ |
17 |
正浮點數 |
^[1-9]\d*\.\d*|0\.\d*[1-9]\d*$ |
18 |
負浮點數 |
^-([1-9]\d*\.\d*|0\.\d*[1-9]\d*)$ |
19 |
浮點數 |
^(-?\d+)(\.\d+)?$ |
校驗字元類 |
||
1 |
中文 |
[\u4e00-\u9fa5] |
2 |
英文和數字 |
^[A-Za-z0-9]+$ |
3 |
長度為3-20的所有字元 |
^.{3,20}$ |
4 |
由26個英文字母組成的字串 |
^[A-Za-z]+$ |
5 |
由26個大寫英文字母組成的字串 |
^[A-Z]+$ |
6 |
由26個小寫英文字母組成的字串 |
^[a-z]+$ |
7 |
由數字和26個英文字母組成的字串 |
^[A-Za-z0-9]+$ |
8 |
由數字、字母或者下劃線的字串 |
^\w+$ 或 ^\w{3,20}$ |
9 |
中文、英文、數字包括下劃線 |
^[\u4E00-\u9FA5A-Za-z0-9_]+$ |
10 |
中文、英文、數字(無下劃線) |
^[\u4E00-\u9FA5A-Za-z0-9]+$ 或 ^[\u4E00-\u9FA5A-Za-z0-9]{2,20}$ |
11 |
可以輸入含有^%&',;=?$\"等字元 |
[^%&',;=?$\x22]+ |
12 |
禁止輸入含有~的字元 |
[^~\x22]+ |
特殊需求類 |
||
1 |
Email地址 |
^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$ |
2 |
域名 |
^(((2[0-4]\d|25[0-5]|[01]?\d\d?)\.){3}(2[0-4]\d|25[0-5]|[01]?\d\d?))$ |
3 |
URL |
[a-zA-z]+://[^\s]* 或 ^http://([\w-]+\.)+[\w-]+(/[\w-./?%&=]*)?$ |
4 |
手機號碼 |
^(13[0-9]|14[5|7]|15[0|1|2|3|5|6|7|8|9]|18[0|1|2|3|5|6|7|8|9])\d{8}$ |
5 |
電話號碼 |
^(\(\d{3,4}\)|\d{3,4}-)?\d{7,8}$ |
6 |
驗證身份證號(15位或18位數字) |
^\d{15}$|^\d{18}$ |
7 |
短身份證號碼(數字、字母x結尾) |
^([0-9]){7,18}(x|X)?$ |
8 |
帳號是否合法(字母開頭,5-16,母數字下劃線) |
^[a-zA-Z][a-zA-Z0-9_]{4,15}$ |
9 |
密碼(字母開頭,6~18,只能包含字母、數字和下劃線) |
^[a-zA-Z]\w{5,17}$ |
10 |
強密碼(含大小寫字母和數字,不含特殊字元,8-10之間) |
^(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{8,10}$ |
11 |
日期格式 |
^\d{4}-\d{1,2}-\d{1,2} |
12 |
一年的12個月(01~09和1~12) |
^(0?[1-9]|1[0-2])$ |
13 |
一個月的31天(01~09和1~31) |
^((0?[1-9])|((1|2)[0-9])|30|31)$ |
14 |
xml檔案 |
^([a-zA-Z]+-?)+[a-zA-Z0-9]+\\.[x|X][m|M][l|L]$ |
15 |
雙位元組字元(含漢字) |
[^\x00-\xff] |
16 |
空白行的正規表示式 |
\n\s*\r |
17 |
HTML標記的正規表示式 |
<(\S*?)[^>]*>.*?</\1>|<.*? /> |
18 |
首尾空白字元的正規表示式 |
^\s*|\s*$或(^\s*)|(\s*$) |
19 |
騰訊QQ號 |
[1-9][0-9]{4,} |
20 |
中國郵政編碼 |
[1-9]\d{5}(?!\d) |
15/07/01更新 |
||
1 |
車牌號碼 |
^[\u4E00-\u9FA5][\da-zA-Z]{6}$ |
2 |
汽車發動機序列號 |
^[a-zA-Z0-9]{16}$ |
3 |
MSN號碼 |
^((([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?$ |
4 |
顏色數值校驗(如#FF00FF) |
\#[a-fA-F0-9]{6} |
5 |
貨幣校驗 |
^\d{0,}(\.\d+)?$ |
常用正規表示式(陸續整理中)
==============================================================================================
<如果對你有幫助,記得點一下推薦哦,如有
有不明白或錯誤之處,請多交流>
<對本系列文章閱讀有困難的朋友,請先看《.net 物件導向程式設計基礎》>
<轉載宣告:技術需要共享精神,歡迎轉載本部落格中的文章,但請註明版權及URL>
==============================================================================================