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