题意整理。

  • 根据给定的正则表达式,验证邮箱格式是否合法。

方法一(正则匹配)

1.解题思路

  • 利用matches()方法对输入的字符串与正则表达式进行正则匹配。
  • 如果合法,则输出"邮箱格式合法",否则输出"邮箱格式不合法"。

图解展示: alt

2.代码实现

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]+";

        //利用matches()方法进行正则匹配,如果合法,则输出"邮箱格式合法",否则输出"邮箱格式不合法"
        System.out.println(str.matches(emailMatcher)?"邮箱格式合法":"邮箱格式不合法");

    }
}

3.复杂度分析

  • 时间复杂度:假设输入字符串的长度为n,正则匹配的时间复杂度为O(n)O(n),所以时间复杂度为O(n)O(n)
  • 空间复杂度:不需要额外的空间,所以空间复杂度为O(1)O(1)