文章目录
- 1. 题目
- 2. 解题
1. 题目
Table: Users
+---------------+---------+
| Column Name | Type |
+---------------+---------+
| user_id | int |
| name | varchar |
| mail | varchar |
+---------------+---------+
user_id is the primary key for this table.
This table contains information of the users signed up in a website. Some e-mails are invalid.
Write an SQL query to find the users who have valid emails.
A valid e-mail has a prefix name and a domain where:
- The prefix name is a string that may contain letters (upper or lower case), digits, underscore
'_'
, period'.'
and/
or dash'-'
. - The prefix name must start with a letter.
- The domain is
'@leetcode.com'
.
Return the result table in any order.
The query result format is in the following example.
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 |
+---------+-----------+-------------------------+Result table:
+---------+-----------+-------------------------+
| user_id | name | mail |
+---------+-----------+-------------------------+
| 1 | Winston | winston@leetcode.com |
| 3 | Annabelle | bella-@leetcode.com |
| 4 | Sally | sally.come@leetcode.com |
+---------+-----------+-------------------------+
The mail of user 2 doesn't have a domain.
The mail of user 5 has # sign which is not allowed.
The mail of user 6 doesn't have leetcode domain.
The mail of user 7 starts with a period.
来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/find-users-with-valid-e-mails
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
2. 解题
语法规则:
https://www.runoob.com/mysql/mysql-regexp.html
https://www.cnblogs.com/zhaopanpan/p/10133224.html
^ 表示开头
+ 匹配一个或多个,不包括空
[] 表示集合里的任意一个
\\ 用于转义特殊字符
a{m,n} 匹配m到n个a,左侧不写为0,右侧不写为任意
$ 表示以什么为结尾
# Write your MySQL query statement below
select * from Users
where mail regexp '^[a-zA-Z]+[a-zA-Z0-9_\\./\\-]{0,}@leetcode\\.com$'
order by user_id
我的CSDN博客地址 https://michael.blog.csdn.net/
长按或扫码关注我的公众号(Michael阿明),一起加油、一起学习进步!