JAVA小练习之正则表达式匹配邮箱(一)

写在开头:这个系列主要是记录一下平时遇到的小练习这些,方便以后期末的时候复习哈哈哈。这个程序不一定最简单,也有可能有问题会不断的修改的。

正则表达式匹配邮箱

任务目标:实现正则表达式匹配邮箱
任务自述:在网上我们可以看到很多正则表达式匹配邮箱的方法,昨天再上课后,老师留了个题目也就是这个,于是想了下在使用\w匹配符的基础上进行了改造,主要有以下几个点需要注意,
1.开头结尾需要时标识符;
2.@前后两位需要时标识符;
3.不能连续出现多个点比如…;
4.域名需要有一个点;
这是我目前想到的几个判断标准,于是我们编写下面的程序进行实现,

package test4;

import java.util.Date;

//正则表达式判断是否为邮箱
public class Test5 {
    public static void main(String[] args) { 
        //邮箱测试集
        String email[] = {"[email protected]",
                          "[email protected]",
                          "[email protected]",
                          "[email protected]",
                          "[email protected]",    //开头是点
                          "[email protected]",    //@后是点
                          "[email protected]",    //@前是点
                          "[email protected]",    //连续两个点
                          "[email protected].",   //结尾是点
                          "hshming@163com",};     //没有点
        //正则表达式
        String regx = "^\\w+(\\w|[.]\\w+)+@\\w+([.]\\w+){1,3}";
        /*
            正则表达式解析:
            ^\\w+  表示开头是多个标识符
            (\\w|[.]\\w+)+  表示中间是标识符或者.标识符组成
            @\\w+   表示@之后跟着标识符
            ([.]\\w+){1,3}   表示由.标识符组成,结尾为标识符,三级域名到头
        */
        
        for(int i = 0; i < email.length; i++){
            //提示字段
            if(i == 0){
                System.out.println("下面开始正确邮箱测试");
            }else if(i == 4){
                System.out.println(" ");
                System.out.println("下面开始错误邮箱测试");
            }
            
            //判断语句
            if(email[i].matches(regx)){
                System.out.println(email[i]+" ====> good");
            }else{
                System.out.println(email[i]+" ====> bad");
            }
        }
    }
}
下面开始正确邮箱测试
[email protected] ====> good
[email protected] ====> good
[email protected] ====> good
[email protected] ====> good
 
下面开始错误邮箱测试
[email protected] ====> bad
[email protected] ====> bad
[email protected] ====> bad
[email protected] ====> bad
[email protected]. ====> bad
hshming@163com ====> bad

结语
就目前来看输出结果还是让我满意的,不过肯定有问题,后续也会不断更新,修改。
谢谢阅读。

发布了20 篇原创文章 · 获赞 79 · 访问量 2756

猜你喜欢

转载自blog.csdn.net/qq_35149632/article/details/104746488