java - 电子邮件验证正则表达式 JAVA

标签 java regex email

<分区>

我需要使用 java regex 进行电子邮件验证,就像我已经在 J​​SP 上使用的一样。当我将正则表达式从 JSP 复制到 JAVA 时,出现错误。但是,在 JSP 中它工作正常。

if (null != email) {
            String regex = "^([_a-zA-Z0-9-]+(\.[_a-zA-Z0-9-]+)*@[a-zA-Z0-9-]+(\.[a-zA-Z0-9-]+)*(\.[a-zA-Z]{1,6}))?$";
            Pattern pattern = Pattern.compile(regex);
            Matcher matcher = pattern.matcher(email);
            if (!matcher.matches()) {
                addFormException(new DropletException("Email not valid "));
            }
        }

最佳答案

在 java 正则表达式中,您必须使用 2 个反斜杠进行转义。即,\\

if (null != email) {
            String regex = "^([_a-zA-Z0-9-]+(\\.[_a-zA-Z0-9-]+)*@[a-zA-Z0-9-]+(\\.[a-zA-Z0-9-]+)*(\\.[a-zA-Z]{1,6}))?$";
            Pattern pattern = Pattern.compile(regex);
            Matcher matcher = pattern.matcher(email);
            if (!matcher.matches()) {
                addFormException(new DropletException("Email not valid "));
            }
        }

关于java - 电子邮件验证正则表达式 JAVA,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42266148/

相关文章:

php - 在php中发送邮件的困难

java - 如何在 while 循环后正确初始化和使用变量

java - Lombok 具有配置中的默认值

java - 绕过 Java 闭包最终限制的模式

jQuery/JavaScript 字符串替换特定单词及其后的所有字符

email - 使用 Gitlab docker 镜像发送电子邮件

java - BigIntegers 的 BigInteger 次方(Schnorr 签名)

python - 在正则表达式中,如何匹配字符串的两种不同情况

regex - 从专有名称解析通用名称的正则表达式

c# - 在 C# 中读取 mbox 文件