正则表达式的第一部分没有句点
No period in first part of regular expression
这是我目前正在使用的:
((?i)(\w|^){0,25}[0-9]{3})[^\.]*@(gmail)\.com
我试图做的是阻止任何包含任意数量字符但字符后跟 3 个数字的电子邮件。
这行得通。但是,当 Google 为人们创建用户名时,它通常会选择 firstname.lastname###@gmail.com
。我不希望包含 @gmail.com 之前带有句点的电子邮件。
这个表情我玩啊玩啊,怎么也搞不定。因此,例如 john.doe123@gmail.com
,表达式在句点之后标记所有内容。我需要正则表达式来检查整个电子邮件并检查它是否遵循表达式。我知道有这个花絮 ^[^\.]*$
但我不知道放在哪里。
您可以匹配 0-25 个单词字符后跟 3 个数字 \w{0,25}[0-9]{3}
并使用锚点断言字符串的开头 ^
和结尾 $
。
^\w{0,25}[0-9]{3}@gmail\.com$
如果你想使用 negated character class [^
你可以匹配 0-25 次匹配任何字符,除了空白字符,@ 或一个点后跟 3 个数字使用 [^\s@.]{0,25}[0-9]{3}
^[^\s@.]{0,25}[0-9]{3}@gmail\.com$
这是我目前正在使用的:
((?i)(\w|^){0,25}[0-9]{3})[^\.]*@(gmail)\.com
我试图做的是阻止任何包含任意数量字符但字符后跟 3 个数字的电子邮件。
这行得通。但是,当 Google 为人们创建用户名时,它通常会选择 firstname.lastname###@gmail.com
。我不希望包含 @gmail.com 之前带有句点的电子邮件。
这个表情我玩啊玩啊,怎么也搞不定。因此,例如 john.doe123@gmail.com
,表达式在句点之后标记所有内容。我需要正则表达式来检查整个电子邮件并检查它是否遵循表达式。我知道有这个花絮 ^[^\.]*$
但我不知道放在哪里。
您可以匹配 0-25 个单词字符后跟 3 个数字 \w{0,25}[0-9]{3}
并使用锚点断言字符串的开头 ^
和结尾 $
。
^\w{0,25}[0-9]{3}@gmail\.com$
如果你想使用 negated character class [^
你可以匹配 0-25 次匹配任何字符,除了空白字符,@ 或一个点后跟 3 个数字使用 [^\s@.]{0,25}[0-9]{3}
^[^\s@.]{0,25}[0-9]{3}@gmail\.com$