【问题标题】:No period in first part of regular expression正则表达式的第一部分没有句点
【发布时间】:2020-02-10 22:50:00
【问题描述】:

这是我目前正在使用的: ((?i)(\w|^){0,25}[0-9]{3})[^\.]*@(gmail)\.com

我正在尝试做的是阻止任何包含任意数量的字符但字符后面有 3 个数字的电子邮件。

这行得通。但是,当 Google 为人们创建用户名时,它通常会选择 firstname.lastname###@gmail.com。我不希望包含@gmail.com 之前的句点的电子邮件。

这个表情我玩了又玩了,搞不懂。例如john.doe123@gmail.com,表达式在句点之后标记所有内容。我需要正则表达式检查整个电子邮件并检查它是否遵循表达式。我知道有这个花絮^[^\.]*$,但我不知道该放在哪里。

【问题讨论】:

标签: regex gmail spam


【解决方案1】:

您可以匹配 0-25 个单词字符后跟 3 位数字 \w{0,25}[0-9]{3},并使用锚点来断言字符串的开头 ^ 和结尾 $

^\w{0,25}[0-9]{3}@gmail\.com$

Regex demo

如果你想使用negated character class[^,你可以匹配0-25次匹配除空白字符、@或使用[^\s@.]{0,25}[0-9]{3}后跟3位数字的任何字符

^[^\s@.]{0,25}[0-9]{3}@gmail\.com$

Regex demo

【讨论】:

  • 成功了!今天早上我害怕再考虑这个问题,但你肯定是来救援的!
猜你喜欢
  • 2018-04-12
  • 1970-01-01
  • 2015-05-21
  • 1970-01-01
  • 2016-08-10
  • 2018-05-12
  • 2014-12-06
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多