gpt4 book ai didi

java - 电子邮件验证模式 Unclosed Character Class

转载 作者:行者123 更新时间:2023-11-29 08:43:04 30 4
gpt4 key购买 nike

我正在使用在 How to validate an email 找到的电子邮件验证模式它工作正常,除了它允许在电子邮件的第一部分使用 + 而这在我的规范中是不允许的。原代码为

public static final String EMAIL_PATTERN = "^[_A-Za-z0-9-\\+]+(\\.[_A-Za-z0-9-]+)*@"
+ "[A-Za-z0-9-]+(\\.[A-Za-z0-9]+)*(\\.[A-Za-z]{2,})$";

protected boolean isInvalidEmail(String email) {
pattern = Pattern.compile(EMAIL_PATTERN);
matcher = pattern.matcher(email);
return !matcher.matches();
}

我以为我可以从 "^[_A-Za-z0-9-\\+] 中删除 + 但我得到了一个 Pattern Syntax异常:未关闭的字符类。有人能告诉我为什么删除 + 会打开该类吗?谢谢!

最佳答案

您必须删除 \\+ 部分。

\\ 转义 \ 字符。 \+ 转义 + 正则表达式运算符。因此 \\+ 分解为 \+ 这意味着匹配文字 + 字符。

注意:+ 正则表达式运算符表示匹配前面的一个或多个元素。

关于java - 电子邮件验证模式 Unclosed Character Class,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38709100/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com