gpt4 book ai didi

java - 如何在 java 中使用正则表达式检查电子邮件地址中是否只有一个 '@' 符号?

转载 作者:行者123 更新时间:2023-11-29 06:52:19 24 4
gpt4 key购买 nike

我正在尝试在 java 中创建一个正则表达式来验证电子邮件地址。它应该包含一个大写一个小写一位数字只有一个@符号后跟'.'。到目前为止我只能创建这个,

^(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])(?=.*@)(?=.*\.).+$

像这样的场景

abC.8@gmailcom 这个地址应该返回 false

abC8@@gmail.com 这也应该返回 false

但是上面的正则表达式在所有这些情况下都返回 true。谁能帮我更正这个正则表达式?

最佳答案

您可以向正则表达式添加一个否定的先行以避免 2 @

(?!.*@.*@)

但您也可以使正则表达式的最后部分更明确,这样双 @ 就不会匹配

^(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])[\w.]+@[\w.]*\.[a-zA-Z0-9]+$

或者允许不仅仅是 [a-zA-Z0-9_] 单词字符和点,但仍然排除空格:

^(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])[^\s@]+@[^\s@]*\.[^\s@.]{2,}$

关于java - 如何在 java 中使用正则表达式检查电子邮件地址中是否只有一个 '@' 符号?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43996403/

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