gpt4 book ai didi

java - 在java中使用前瞻的电子邮件正则表达式

转载 作者:行者123 更新时间:2023-12-01 12:29:54 24 4
gpt4 key购买 nike

我正在尝试为电子邮件编写正则表达式。

对于@符号之前的字符,我希望遵循以下规则: 允许使用 a-z,A-Z,0-9 以及特殊字符 -,.,_

我在java中编写表达式,如“^[a-zA-Z0-9]{1,}(?=[.-_]?+)”,用于@符号之前的文本。

但它也允许“ddff.....”,即允许多个点,这不应该是这种情况,因为我使用了 ?+ 量词。它应该会失败。

谁能帮忙解决这个问题吗?

public class EmailRegex {
private static String EMAIL_REGEX_NEW_2="^[a-zA-Z0-9]{1,}(?=[.-_]?+)";
public static void main(String[] args) {
System.out.println("Enter the email name to validate");
try (Scanner sc = new Scanner(System.in)) {
if (!serverValidationUsingRegexPattern(sc.nextLine(), EMAIL_REGEX_NEW_2)) {
System.out.println("Sorry, Email name invalid");
} else {
System.out.println("Congrats, Email name valid");
}
}
}
public static boolean serverValidationUsingRegexPattern(
String valueToValidate, String regexPattern) {
Pattern p = Pattern.compile(regexPattern);
Matcher m = p.matcher(valueToValidate);
return m.find();
}
}

最佳答案

电子邮件的完整正则表达式是

"[_A-Za-z0-9-]+(\\.[_A-Za-z0-9-]+)*@[A-Za-z0-9-]+(\\.[A-Za-z0-9-]+)*(\\.[A-Za-z]{2,})"

关于java - 在java中使用前瞻的电子邮件正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26011619/

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