题目的主要信息:

  • 根据给出的正则表达式来验证邮箱格式是否合法
  • 如果用户输入的格式合法则输出「邮箱格式合法」,否则输出「邮箱格式不合法」

具体做法:

正则表达式题目已经写出来了,我们将输入的字符串与正则表达式进行正则匹配,如果返回true则代表合法,否则不合法。

alt

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        String str = scanner.next(); //输入的邮箱
        String emailMatcher="[a-zA-Z0-9]+@[a-zA-Z0-9]+\\.[a-zA-Z0-9]+"; //正则表达式
        if(str.matches(emailMatcher)) //正则匹配
            System.out.println("邮箱格式合法");
        else
            System.out.println("邮箱格式不合法");
    }
}

复杂度分析:

  • 时间复杂度:O(n)O(n),其中nn为输入的字符串长度,正则匹配的复杂度为O(n)O(n)
  • 空间复杂度:O(1)O(1),输入的字符串str属于必要空间,无额外空间