gpt4 book ai didi

正则表达式从电子邮件地址中的用户名中删除可变数量的句点?

转载 作者:行者123 更新时间:2023-12-02 05:30:06 25 4
gpt4 key购买 nike

我正在清理论坛中的垃圾邮件帐户,并找到了一堆格式如下的电子邮件地址:

n.fl.jersey.s@gmail.com
nfl.jerseys@gmail.com
n.flj.er.se.ys@gmail.com

Gmail 将所有这些视为相同的电子邮件帐户,而论坛软件将它们视为不同的电子邮件地址,因此垃圾邮件发送者在创建垃圾邮件论坛帐户时会使用此技巧一次又一次地重复使用相同的电子邮件地址。

为了识别它们,我需要去掉 @gmail.com 之前的所有句点。 .然后很容易识别所有重复的帐户。

幸运的是,MariaDB 10 有一个新的 REGEXP_REPLACE函数专为这些类型的问题而设计。不幸的是,我无法找出正确的正则表达式。

我的主要绊脚石是句点数变化很大,当项目数在整个字符串中随机变化时,我不确定如何编写正则表达式。我在其中一个电子邮件地址中发现了多达 8 个句点,它们在字符串中的显示位置完全随机。

如果我可以去掉所有期间会很容易,但我不能,因为我需要 @gmail.com保持原状。此外,此正则表达式应仅匹配 @gmail.com 地址并忽略其他电子邮件提供商。

我该怎么做呢?

最佳答案

gmail 地址还有一个技巧:+ 之后的任何文本字符被忽略,例如foo@gmail.comfoo+bar@gmail.com实际上是相同的地址。

您可以使用此模式删除 + 之后的所有文本。字符,以及所有点(无耻地基于 Raj 的模式,请不要恨我):

(?:\.|\+.*)(?=.*?@gmail\.com)

(替换为空字符串)

regex101 demo.

关于正则表达式从电子邮件地址中的用户名中删除可变数量的句点?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27674487/

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