我试图制作一个正则表达式声明来验证电子邮件地址。 这是我目前的陈述:
[a-z|A-Z|.]+@[a-z|A-Z]+\.[a-z]{3}\.[a-z]{2}
我一直试图阻止它连续接受多个句号。但它没有任何一个。 我试过了:
\.(?!\.)
然而它承认第一个。作为与?无关的要求值!消极的向前看。有没有人知道一个基本/简单的否定前瞻(或任何其他方式来实现这一点),并能够解释它的作用。 这将非常感谢:) 感谢
答案 0 :(得分:2)
您可以尝试以下正则表达式:
^(?!.*\.\.)[a-zA-Z.]+@[a-zA-Z]+\.[a-z]{3}\.[a-z]{2}$
我在开头添加了(?!.*\.\.)
,以确保整个正则表达式不会连续。
说明:
(?!.*\.\.)
负面展望正则表达式以确保没有两个
fullstop跟随彼此。*确保它保持
寻找这种情况直到字符串结束。
如果满足上述条件,则意味着没有这样的重复
然后你提供的正则表达式生效。但是你已经在你的角色类中添加了[a-z|A-Z|.]
个管道,它也将管道作为有效输入。在字符类中,您不需要按管道分隔序列,因此[a-zA-Z.]
会这样做。