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:
'_'
, period '.'
and/
or dash '-'
.'@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 著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
语法规则: 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