java 正则表达式验证邮箱格式是否合规 以及 正则表达式元字符,


package com.ykmimi.testtest;
/**
 * 测试邮箱地址是否合规
 * @author ukyor
 *
 */
public class EmailTest {
    public static void main(String[] args) {
        //定义要匹配的Email地址的正则表达式
        //其中\w代表可用作标识符的字符,不包括$. \w+表示多个
        //  \\.\\w表示点.后面有\w 括号{2,3}代表这个\w有2至3个
        //牵扯到有些邮箱类似com.cn结尾 所以(\\.\\w{2,3})*后面表示可能有另一个2至3位的域名结尾
        //*表示重复0次或更多次
        String regex = "\\w+@\\w+(\\.\\w{2,3})*\\.\\w{2,3}";
        
        //声明用于判断的邮箱
        String em1 = "aas@.cn";
        String em2 = "deadzq@!qq.com";
        String em3 = "de@qqcom";
        String em4 = "ed123.com";
        String em5 = "deadzq@qwq.com";
        String em6 = "ukyo@qq.com";
        String em7 = "helloworld@123.com";
        String em8 = "goldhair@12333.com.cn";
        //em9虽然可能没有这样的域名结尾 但符合(\\.\\w{2,3})*\\.\\w{2,3}条件
        //更精准的表达式应该把现有国际上域名声明为一个数组 再加以判断
        String em9 = "loveinc@ukyo.dd.sss";
        
        //把域名装入域名数组
        String[] emailArray = {em1,em2,em3,em4,em5,em6,em7,em8,em9};
        //循环判断邮箱是否合规  foreach循环 
        for(String e : emailArray)
        {
            //如果其中邮箱元素复合正则表达式 regex 则:
            if(e.matches(regex))
            {
                //输出该邮箱元素 为合规
                System.out.println(e+"为合规邮箱输入.");
            }
        }
    }
}

正则表达式元字符

 

将编程看作是一门艺术,而不单单是个技术。 敲打的英文字符是我的黑白琴键, 思维图纸画出的是我编写的五线谱。 当美妙的华章响起,现实通往二进制的大门即将被打开。

相关内容