1517. 查找拥有有效邮箱的用户
1517. 查找拥有有效邮箱的用户
用户表: Users
+---------------+---------+ | Column Name | Type | +---------------+---------+ | user_id | int | | name | varchar | | mail | varchar | +---------------+---------+ user_id (用户 ID)是该表的主键。 这个表包含用户在某网站上注册的信息。有些邮箱是无效的。
写一条 SQL 语句,查询拥有有效邮箱的用户。
有效的邮箱包含符合下列条件的前缀名和域名:
- 前缀名是包含字母(大写或小写)、数字、下划线
'_'
、句点'.'
和/或横杠'-'
的字符串。前缀名必须以字母开头。 - 域名是
'@leetcode.com'
。
按任意顺序返回结果表。
查询格式如下所示:
Users
+---------+-----------+-------------------------+ | user_id | name | mail | +---------+-----------+-------------------------+ | 1 | Winston | winston@leetcode.com | | 2 | Jonathan | jonathanisgreat | | 3 | Annabelle | bella-@leetcode.com | | 4 | Sally | sally.come@leetcode.com | | 5 | Marwan | quarz#2020@leetcode.com | | 6 | David | david69@gmail.com | | 7 | Shapiro | .shapo@leetcode.com | +---------+-----------+-------------------------+ 结果表: +---------+-----------+-------------------------+ | user_id | name | mail | +---------+-----------+-------------------------+ | 1 | Winston | winston@leetcode.com | | 3 | Annabelle | bella-@leetcode.com | | 4 | Sally | sally.come@leetcode.com | +---------+-----------+-------------------------+ 2 号用户的邮箱没有域名。 5 号用户的邮箱包含非法字符 #。 6 号用户的邮箱的域名不是 leetcode。 7 号用户的邮箱以句点(.)开头。
select user_id, name, mail from Users as u where left(mail,length(mail)-13) REGEXP '^[A-Za-z0-9_.-]*$' and left(mail,1) REGEXP '^[A-Za-z]' and right(mail,13) = '@leetcode.com'
tip:
其中,^
表示正则表达式的开头,[A-Za-z0-9_.-]
表示匹配字母(大写或小写)、数字、下划线 _
、句点.
和/或横杠-
的任意一个字符,*
表示匹配前面的字符集0到多次,最后的$
表示正则表达式的结尾。这个正则表达式的意思是:匹配只包含字母(大写或小写)、数字、下划线 _
、句点.
和/或横杠-
的字符串。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix