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

news/2024/9/11 3:30:18/ 标签: leetcode, sql, 算法

文章目录

  • 力扣高频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$ 表示以该字符串结尾

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


http://www.ppmy.cn/news/1508601.html

相关文章

Xcode自定义模板:提升开发效率的秘诀

Xcode自定义模板:提升开发效率的秘诀 引言 在iOS开发中,Xcode的自定义模板是一项强大的功能,它允许开发者根据自己的开发习惯和项目需求,创建个性化的代码和项目模板。这不仅可以加快开发速度,还能保持代码的一致性和…

C#使用Puppeteer

Puppeteer Puppeteer是一个Node.js库,它提供了高级API来通过DevTools协议(Chrome DevTools Protocol https://devtools.chrome.com)控制Chrome或Chromium。 Puppeteer默认情况下无头运行(headless)。 可以配置为运行完整的Chrome或Chromium,运行效果如…

oracle rac

1、app连接oracle rac集群 连接到 Oracle RAC(Real Application Clusters)的多种配置方式 1. 使用 JDBC 连接字符串: 使用 JDBC 连接字符串是连接 Oracle RAC 的常见方式。连接字符串的格式如下: jdbc:oracle:thin:(DESCRIPTION…

2024年8月7日(mysql主从 )

回顾 主服务器 [rootmaster_mysql ~]# yum -y install rsync [rootmaster_mysql ~]# tar -xf mysql-8.0.33-linux-glibc2.12-x86_64.tar [rootmaster_mysql ~]# tar -xf mysql-8.0.33-linux-glibc2.12-x86_64.tar.xz [rootmaster_mysql ~]# cp -r mysql-8.0.33-linux-glibc2.…

Docker基础知识大全

文章目录 前言一、Docker为什么出现?二、Docker历史三、Docker能干嘛?四、Docker名词五、Docker安装(CentOS7)六、卸载docker命令七、Docker镜像容器命令总结 1、Docker为什么出现? java jar包 打包项目带上环境&…

RabbitMq如何确保消息不丢失

问题:在生产环境中由于一些不明原因,导致 rabbitmq 重启,在 RabbitMQ 重启期间生产者消息投递失败,导致消息丢失,需要手动处理和恢复。于是,我们开始思考,如何才能进行 RabbitMQ 的消息可靠投递…

Linux驱动入门实验班——基础驱动模板(附百问网视频链接)

目录 一、GPIO子系统 1.确定引脚编号 2.写程序 二、中断函数 使用中断的流程 三、定时器 1.定时器两要素 2.使用定时器 四、交互流程解读 1、非阻塞访问和阻塞访问 2、POLL 3、异步通知 课程链接 一、GPIO子系统 如何驱动GPIO 1.确定引脚编号 可以在开发板上&a…

【网络基础一】几乎不讲任何网络协议细节,搭建网络基本结构

文章目录 问题认识“协议”计算机通信问题技术问题应用问题 协议分层那么网络分层应该怎么分层呢?网络传送宏观流程以太网通信 统编程帮助我们处理数据,网络编程帮助我们获取数据,网络配上我们写的线程池模块很快就搭建起来了。 问题 网卡是…

性能测试工具之JMeter

JMeter Apache JMeter应用程序是开源软件,是一个100%纯Java应用程序,旨在负载测试功能行为和衡量性能。它最初是为测试Web应用程序而设计的,但后来扩展到其他测试功能。 JMeter是一个免费、开源、跨平台的性能测试工具,于20世纪90年代后期面世。这是一个成熟、健全且具有…

智能电话机器人的优势与挑战

1. 工作量比传统人工拨号高单个机器人日呼量可达1000通左右,且同个账号下是可以增加多个电话机器人的,能有效解决话务员基础通话量。 2. 工作状态能一直保持由于是真人语音AI,因此每段对话都是由录音师录制的,经过后期调整了语气…

【数据结构】六、图:3.十字链表、邻接多重表、边集数组

3.十字链表(有向图) 文章目录 3.十字链表(有向图)3.1性能分析 4.邻接多重表(无向图)4.1性能分析 5.边集数组 十字链表是有向图的一种链式存储结构。 不足 对于有向图来说,邻接表是有缺陷的。了…

物理网卡MAC修改器v3.0-直接修改网卡内部硬件MAC地址,重装系统不变!

直接在操作系统里就能修改网卡硬件mac地址,刷新网卡mac序列号硬件码机器码,电脑主板集成网卡,pcie网卡,usb有线网卡,usb无线网卡,英特尔网卡,瑞昱网卡全支持! 一键修改mac&#xff0…

MTK Android12 SystemUI 手势导航 隐藏导航栏底部布局

问题:android12 平台手势导航情况下,app页面未设置全屏情况下,底部导航栏会有一个高度的颜色,底部导航会有一个手势导航提示条 需求:去掉手势导航情况下底部的导航栏和手势提示条 文章目录 相关资源修改问题描述解决方案代码跟踪中间提醒小方块代码查找底部手势导航条跟踪…

洛阳电力设计送变电乙级资质办理的软硬件要求

一、硬件要求 办公场所:必须有固定的办公场所,且面积符合资质标准的要求。 办公场所应具备良好的办公条件,包括但不限于会议室、设计室等。 技术装备:应配备必要的技术装备,包括但不限于计算机、绘图仪、测量仪器等…

HTTP 之 头部信息(二)

HTTP头部是HTTP请求和响应的重要组成部分,它们提供了关于传输的数据的附加信息。HTTP头部由一系列的键值对组成,每个键值对占据一行,键和值由冒号和空格分隔。 通用头部(请求和响应共享) Cache-Control: 控制响应的缓…

React原理之React整体渲染流程

前置知识:深度优先搜索(DFS)、Fiber 节点 在上一篇 React原理篇之 React 整体架构解读中,提到了 Fiber 架构中的几个核心概念: Scheduler(调度器):根据任务的优先级安排任务执行顺序。Reconciler&#xff…

Xcode动态功能加载:深入探索与实践指南

Xcode动态功能加载:深入探索与实践指南 引言 在iOS应用程序开发中,动态功能加载是一项高级技术,它允许开发者在运行时动态加载和卸载应用程序的功能模块。这种技术可以显著提高应用程序的灵活性和可扩展性。本文将详细介绍如何在Xcode中实现…

网站开发涉及到的技术内容介绍——后端PHP(1)

一、PHP简介 PHP(全称:Hypertext Preprocessor (超文本预处理器))是一种创建动态交互性网站的服务器端脚本语言( PHP代码可以放在HTML文档中的任何位置;且PHP 脚本是在服务器上运行,然后将纯 HTML 结果发送回浏览器)且PHP 是免费的,并且使用非常广泛。同类的后端语言有…

【Rust光年纪】深入Rust网络编程:库与框架全方位解析

Rust网络生态:探索异步网络编程利器 前言 随着互联网的迅猛发展和技术的日新月异,越来越多的开发者开始寻找更高效、更稳定的工具和库,以提升他们的项目性能和用户体验。Rust语言作为一种安全、并发、实用的编程语言,其生态系统…

Day16-指针2

数组指针与指针数组 变量指针:指向变量的地址。 数组指针:指向数组的地址。 指针变量:存放其他变量地址的变量。 指针数组:存放数组元素指针的变量。 数组指针 概念:数组指针是指向数组的指针。特点: 先…