全球主机交流论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

CeraNetworks网络延迟测速工具IP归属甄别会员请立即修改密码
查看: 664|回复: 10

咨询下mjj正则匹配

[复制链接]
发表于 2024-3-20 10:34:16 | 显示全部楼层 |阅读模式
比如我有个连在一起的邮箱字符串

linzhijun@gmail.comxiaogang.ma@gmail.commlidaqiang@yahoo.co.uk

我要通过什么方式去分割呢

gpt给了我个正则

re.findall(r'[A-Za-z0-9._%+-]+@(?:[A-Za-z0-9-]+\.)+(?:com|co\.uk)', emails)

但是如果
匹配的域名中增加.ma域名

re.findall(r'[A-Za-z0-9._%+-]+@(?:[A-Za-z0-9-]+\.)+(?:com|co\.uk|ma)', emails)
就会匹配出错误的邮箱 linzhijun@gmail.comxiaogang.ma

求助mjj们有啥更好的解决方案吗?\


发表于 2024-3-20 10:52:44 来自手机 | 显示全部楼层
正则多起来还是麻烦,你要筛选出 .ma 可以新增正则,排除一些关键字 gmail mail 这些
发表于 2024-3-20 10:56:25 | 显示全部楼层
GPT写正则的能力吊锤所有mjj
发表于 2024-3-20 11:54:50 | 显示全部楼层
这种用正则不好处理了,你需要把@gmail.com @yahoo.co.uk 等所有的邮箱后缀列出来,然后去正则替换,
如果如果遇到@gmail.co mm123@qq.com 和 @gmail.com m123@qq.com 这种的神仙来了也没办法,只能肉眼分析。


发表于 2024-3-20 11:58:44 | 显示全部楼层
无论是用正则还是代码处理  都需要明确的分隔规则  只要有规则就好办  GPT写正则确实强
发表于 2024-3-20 12:04:50 | 显示全部楼层
[A-Za-z0-9._%+-]+@(?:[A-Za-z0-9-]+\.)+?(com|co\.uk|ma)

完结,请直接打钱  => https://pinqiong.net/
发表于 2024-3-20 12:11:51 | 显示全部楼层
本帖最后由 wwbfred 于 2024-3-20 12:22 编辑

[^@]+@[^\.]+\.(com|co\.uk)
最后结果应该长这样,你把后缀加进去就行。
 楼主| 发表于 2024-3-21 01:07:29 | 显示全部楼层
榆木 发表于 2024-3-20 12:04
[A-Za-z0-9._%+-]+@(?:[A-Za-z0-9-]+\.)+?(com|co\.uk|ma)

完结,请直接打钱  => https://pinqiong.net/ y ...

感谢大佬提供的 +? 语法思路..

最后我使用了这个正则
[A-Za-z0-9._%+-]+@(?:[A-Za-z0-9-]+\.)+?(?:com|co\.uk|ma)
发表于 2024-3-21 07:09:54 | 显示全部楼层
让数据源加个分隔符
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|全球主机交流论坛

GMT+8, 2024-5-6 18:05 , Processed in 0.072588 second(s), 9 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表