郵箱地址的正則表達式解析

常用元字符

代碼 說明
. 匹配除換行符以外的任意字符
\w 匹配字母或數字或下劃線
\s 匹配任意的空白符
\d 匹配數字
\b 匹配單詞的開始或結束
^ 匹配字符串的開始
$ 匹配字符串的結束

常用限定符

代碼/語法 說明
* 重複零次或更多次
+ 重複一次或更多次
? 重複零次或一次
{n} 重複n次
{n,} 重複n次或更多次
{n,m} 重複n到m次

以此舉個例子如郵箱:[email protected]

 正則表達式爲:^[A-Za-z0-9-._]+@[A-Za-z0-9-]+(\.[A-Za-z0-9]+)*(\.[A-Za-z]{2,6})$

創建過程:

1.  開頭和結尾:^$;

2.  加入@:^@$;

3.  @前的內容匹配:[A-Za-z0-9-._]  大小寫字母,數字,".",下劃線 隨機出現;"+" 號表示當前規則中的字符可以重複;

4.  @後的內容受頂級域名的限制,按點號分割後的規則略有不同:(\.[A-Za-z]{2,6}) 必須是字母出現,比如.com,.cn等

 

舉個Java案例:

郵箱匹配:
        private    static final String    EMAIL_PATTERN    =    "^[A-Za-z0-9-._]+@[A-Za-z0-9-]+(\\.[A-Za-z0-9]+)*(\\.[A-Za-z]{2,})$";
        匹配寫法:
        Pattern    p    =    Pattern.compile("正則表達式");
        Matcher    m    =    p.matcher("傳入字符串");
        boolean    b    =    m.matches();

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章