第13次作业--邮箱的正则表达式

一、题目

题目:定义判断电子邮箱的正则表达式,判断输入的字符串是否为电子邮箱地址。

二、源代码

Test.java

package Twentythreeth;
/*
 * 先对输入的邮箱进行字符拆分,可分成3个部分,然后通过matches方法用正则表达式对里面的元素进行判断
 * 
 * 
 */
import java.util.Scanner;

public class Test {

    /**
     * @param args
     */
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Scanner sc = new Scanner(System.in);

        while (true) {
            System.out.println("请输入您的邮箱地址:");
            String email = sc.next();
            int first = email.indexOf("@");
            int last = email.lastIndexOf(".");

            String firString = email.substring(0, first);
            String midString = email.substring(first + 1, last);
            String lastString = email.substring(last + 1, email.length());

            String firRegex = "[a-zA-Z0-9_]{1,15}";
            String midRegex = "(\\w+.)";
            String lastRegex = "\\w{2,3}";

            if (firString.matches(firRegex)) {
                if (midString.matches(midRegex)) {
                    if (lastString.matches(lastRegex)) {
                        System.out.println("这是一个合法的电子邮箱");
                        continue;
                    }
                }
            }
            System.out.println(email + "这不是一个合法的电子邮箱");
            break;
        }
    }

}

三、运行结果

posted @ 2019-11-23 14:17  薄暮JIM  阅读(133)  评论(0编辑  收藏  举报