SQL-每日一题1517. 查找拥有有效邮箱的用户
题目
表: Users
编写一个解决方案,以查找具有有效电子邮件的用户。
一个有效的电子邮件具有前缀名称和域,其中:
- 前缀 名称是一个字符串,可以包含字母(大写或小写),数字,下划线
'_'
,点'.'
和/或破折号'-'
。前缀名称 必须 以字母开头。 - 域 为
'@leetcode.com'
。
以任何顺序返回结果表。
结果的格式如以下示例所示:
示例 1:
解题思路
前置知识
Regexpp()
模糊匹配,包含特定字符串
select * from club_content where content regexp ‘车友俱乐部’
select * from club_content where content like ‘%车友俱乐部%’
模糊匹配,以特定字符串开头
select * from club_content where content regexp ‘^车友’
select * from club_content where content like ‘车友%’
模糊匹配,以特定字符串结尾
select * from club_content where content regexp ‘车友$’
select * from club_content where content like ‘%车友’
模糊匹配,或关系
select * from club_content where content REGEXP ‘心得|分享|技术贴’
模糊匹配,不包含单个字符
select * from club_content where content REGEXP [^车友]
这个结果跑出来一看大吃一惊,竟然把所有记录给跑出来,这是为什么呢?
因为一旦加了这个方括号"[]",它就把里面的内容拆成单个的字符再匹配,它会逐个字符去匹配判断是不是等于“车”,或者是不是等于“友“,返回的结果是一组0、1的逻辑值。如果想匹配不包含特定字符串,该怎么实现呢?
模糊匹配,不包含特定字符串
select * from club_content where content not REGEXP ‘车友’
1.题目要求我们 查找具有有效电子邮件的用户,也就是(前缀 名称是一个字符串,可以包含字母(大写或小写),数字,下划线
'_'
,点'.'
和/或破折号'-'
。前缀名称 必须 以字母开头。域 为'@leetcode.com'
。)对于这种题我们可以采用正则表达式进行匹配。2. ^ 匹配以该字符后面的字符开头的字符串,我们应该以字母开头(^[a-zA-Z]),可以包含字母(大写或小写),数字,下划线
'_'
,点'.'
和/或破折号'-'([a-zA-Z0-9_.-]*),
*是一个量词,表示匹配前面的元素零次或多次。3.必须以域结尾域 为
'@leetcode.com',(@leetcode[.]com$),然后我们将三个条件组合在一起就得到了(regexp '^[a-zA-Z][a-zA-Z0-9_.-]*@leetcode[.]com$')这里要注意特殊符号的转义,如果我们将特殊符号放在[]中就不用再进行转义了,否则要在前面加上‘//’。
代码实现
-
select *
-
from Users
-
where mail regexp '^[a-zA-Z][a-zA-Z0-9_.-]*@leetcode[.]com$'
测试结果
这篇好文章是转载于:学新通技术网
- 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
- 本站站名: 学新通技术网
- 本文地址: /boutique/detail/tanhgfccic
-
photoshop保存的图片太大微信发不了怎么办
PHP中文网 06-15 -
Android 11 保存文件到外部存储,并分享文件
Luke 10-12 -
《学习通》视频自动暂停处理方法
HelloWorld317 07-05 -
word里面弄一个表格后上面的标题会跑到下面怎么办
PHP中文网 06-20 -
photoshop扩展功能面板显示灰色怎么办
PHP中文网 06-14 -
微信公众号没有声音提示怎么办
PHP中文网 03-31 -
excel下划线不显示怎么办
PHP中文网 06-23 -
excel打印预览压线压字怎么办
PHP中文网 06-22 -
怎样阻止微信小程序自动打开
PHP中文网 06-13 -
TikTok加速器哪个好免费的TK加速器推荐
TK小达人 10-01