力扣高频SQL 50题(基础版)第四十二题之1517.查找拥有有效邮箱的用户

力扣高频SQL 50题(基础版)第四十二题

1517.查找拥有有效邮箱的用户

题目说明

表: Users

±--------------±--------+

| Column Name | Type |

±--------------±--------+

| user_id | int |

| name | varchar |

| mail | varchar |

±--------------±--------+

user_id 是该表的主键(具有唯一值的列)。

该表包含了网站已注册用户的信息。有一些电子邮件是无效的。

编写一个解决方案,以查找具有有效电子邮件的用户。

一个有效的电子邮件具有前缀名称和域,其中:

  1. 前缀 名称是一个字符串,可以包含字母(大写或小写),数字,下划线 '_' ,点 '.' 和/或破折号 '-' 。前缀名称 必须 以字母开头。
  2. '``@leetcode.com``'

以任何顺序返回结果表。

实现过程

准备数据
Create table If Not Exists Users (user_id int, name varchar(30), mail varchar(50))
Truncate table Users
insert into Users (user_id, name, mail) values ('1', 'Winston', 'winston@leetcode.com')
insert into Users (user_id, name, mail) values ('2', 'Jonathan', 'jonathanisgreat')
insert into Users (user_id, name, mail) values ('3', 'Annabelle', 'bella-@leetcode.com')
insert into Users (user_id, name, mail) values ('4', 'Sally', 'sally.come@leetcode.com')
insert into Users (user_id, name, mail) values ('5', 'Marwan', 'quarz#2020@leetcode.com')
insert into Users (user_id, name, mail) values ('6', 'David', 'david69@gmail.com')
insert into Users (user_id, name, mail) values ('7', 'Shapiro', '.shapo@leetcode.com')
实现方式
select user_id,name,mail from Users
where mail regexp '^[a-zA-Z][a-zA-Z0-9\\_\\.\\-]*@leetcode\\.com$'
结果截图

在这里插入图片描述

总结

regexp 正则表达式

^[a-zA-Z] 表示以字母开头

[a-zA-Z0-9\\_\\.\\-]表示中间的字符传只能以这个范围内的字符构成

*表示匹配多个字符

@leetcode\\.com$ 表示以该字符串结尾

\\表示转义字符 转标点符号

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值