MST
星途 面试题库

面试题:Java中String正则表达式匹配特定格式字符串

在Java中,假设你有一个字符串,需要判断它是否符合邮箱格式,例如'user@example.com',请编写代码利用String的正则表达式来实现此功能。
11.8万 热度难度
编程语言Java

知识考点

AI 面试

面试题答案

一键面试
import java.util.regex.Pattern;

public class EmailValidator {
    public static boolean isValidEmail(String email) {
        String regex = "^[A-Za-z0-9+_.-]+@[A-Za-z0-9.-]+$";
        return Pattern.matches(regex, email);
    }

    public static void main(String[] args) {
        String testEmail1 = "user@example.com";
        String testEmail2 = "invalid_email";
        System.out.println(isValidEmail(testEmail1)); 
        System.out.println(isValidEmail(testEmail2)); 
    }
}

上述代码中:

  1. isValidEmail 方法接收一个字符串参数 email,使用正则表达式 ^[A-Za-z0-9+_.-]+@[A-Za-z0-9.-]+$ 来验证邮箱格式。
    • ^ 表示字符串的开始。
    • [A-Za-z0-9+_.-]+ 表示由字母、数字、+_.- 组成的字符串,且至少出现一次。
    • @ 为邮箱中的固定字符。
    • [A-Za-z0-9.-]+ 表示由字母、数字、.- 组成的字符串,且至少出现一次。
    • $ 表示字符串的结束。
  2. Pattern.matches 方法用于判断给定的字符串是否匹配指定的正则表达式,返回 truefalse
  3. main 方法中对两个不同的字符串进行测试,输出验证结果。