gpt4 book ai didi

正则表达式使带有两个连续点的电子邮件域失败

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

我正在尝试验证电子邮件的域部分,我想检查域中是否没有两个连续的点,即以下无效

  • joe@ms..com
  • joe@ms.com..uk
  • joe@..ms.com
  • joe@ms.com.au..

我有正则表达式可以找到它

@+\.{2}|@.+\.{2}

但我在 .NET 中使用 Regex 属性并希望构建有效的正则表达式(即一个点)而不是失败的正则表达式

我认为 ^ 字符的意思是

everything that is NOT the expression

所以我认为 ^(@+\.{2}|@.+\.{2}) 会起作用,但它不会,.NET 框架 EmailAddress 属性 - 它会停止 joe@ms..com 但不会停止 joe@ms.com..au

最佳答案

您可以在正则表达式前使用negative lookahead:

@(?!.*?\.\.)[^@]+$

如果域中任何地方出现 2 个连续的点,则匹配失败。

[^@] 将匹配 1 个或多个不是 @

的字符

RegEx Demo

关于正则表达式使带有两个连续点的电子邮件域失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29814935/

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