gpt4 book ai didi

java.util.regex.PatternSyntaxException : Illegal repetition near index 12

转载 作者:行者123 更新时间:2023-12-02 01:14:15 30 4
gpt4 key购买 nike

我是正则表达式的新手。我需要使用 java 验证电子邮件。我通过硬编码域名创建了用于电子邮件验证的正则表达式。但域名应该是动态的。我已经将域名作为参数传递了。但我不知道如何在正则表达式中传递参数。

但是我尝试了这段代码,然后收到错误“java.util.regex.PatternSyntaxException:索引 12 附近非法重复”。我遵循了一些答案,但这对我没有帮助。从这些答案中我了解了重复量词。你能告诉我我在这里缺少什么以及如何解决这个问题吗?

public static boolean validateEmail(String email, String domainName) {
pattern = Pattern.compile("^([\\w-\\.]+)@ {"+ domainName +"}" , Pattern.CASE_INSENSITIVE);
matcher = pattern.matcher(email);
return matcher.matches();
}



最佳答案

{}在正则表达式中有意义,即指定字符重复的频率。例如。 a{5}匹配aaaaa .

如果你想在正则表达式中使用花括号,你应该像\\{一样转义它们和\\} .

但这并不是您将其作为参数传递所需要的——此时它只是文字文本。如果您只想匹配该文字域,您可以执行 Pattern.compile("^([\\w-\\.]+)@" + domainName, Pattern.CASE_INSENSITIVE) .

关于java.util.regex.PatternSyntaxException : Illegal repetition near index 12,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58915099/

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