首页 > Java > java教程 > 尽管在 Eclipse 的查找和替换中工作,为什么我的 Java Regex 电子邮件验证失败?

尽管在 Eclipse 的查找和替换中工作,为什么我的 Java Regex 电子邮件验证失败?

Barbara Streisand
发布: 2024-11-30 17:30:11
原创
641 人浏览过

Why Does My Java Regex Email Validation Fail Despite Working in Eclipse's Find and Replace?

Java 正则表达式电子邮件验证出现问题

在尝试使用正则表达式验证电子邮件地址时,Java 用户遇到了以下问题:即使对于格式正确的电子邮件地址,验证也会失败。尽管事实上,当在 Eclipse 中的“查找和替换”功能中使用正则表达式时,该正则表达式会匹配电子邮件地址,但在与 Java 的 Pattern 和 Matcher 类一起使用时,它会失败。

有问题的正则表达式是:

\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("[email protected]");

if (m.find())
    System.out.println("Correct!");
登录后复制

但是,无论电子邮件地址是否有效或无效,正则表达式验证失败。

潜在的解决方案

建议的解决方案是利用以下 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.matches();
}
登录后复制

据报告此代码可以可靠地验证电子邮件地址。

以上是尽管在 Eclipse 的查找和替换中工作,为什么我的 Java Regex 电子邮件验证失败?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板