Java正则表达式电子邮件

首先,我知道不建议使用正则表达式发送电子邮件,但我必须对此进行测试。

我有这个正则表达式:

\b[A-Z0-9._%-]+@[A-Z0-9.-]+\.[A-Z]{2,4}\b

在Java中,我这样做:

Pattern p = Pattern.compile("\\b[A-Z0-9._%-]+@[A-Z0-9.-]+\\.[A-Z]{2,4}\\b");

Matcher m = p.matcher("foobar@gmail.com");

if (m.find())

System.out.println("Correct!");

但是,无论电子邮件是否格式正确,正则表达式都会失败。Eclipse内部的“查找并替换”功能可以在同一个正则表达式下正常运行。

任何想法?

回答:

FWIW,这是我们用来验证电子邮件地址的Java代码。正则表达式非常相似:

public static final Pattern VALID_EMAIL_ADDRESS_REGEX = 

Pattern.compile("^[A-Z0-9._%+-]+@[A-Z0-9.-]+\\.[A-Z]{2,6}$", Pattern.CASE_INSENSITIVE);

public static boolean validate(String emailStr) {

Matcher matcher = VALID_EMAIL_ADDRESS_REGEX .matcher(emailStr);

return matcher.find();

}

工作相当可靠。

以上是 Java正则表达式电子邮件 的全部内容, 来源链接: utcz.com/qa/434153.html

回到顶部