MySQL - [09] 正则表达式
select *
from t1
where name rlike '^[a-zA-Z]+$';
一、简介
正则表达式使用rlike作为模式匹配的关键字,其语法结构如下
select column_name
from table_name
where column_name rlike 'pattern';
column_name表示从中进行匹配的列名
table_name表示从中查询数据的表名
pattern是用户提供的正则表达式模式
pattern(正则表达式)的模式及其说明如下
| 表达式 | 说明 |
. |
与任何单个字符匹配(换行符除外)。 |
.* |
零次或多次匹配任何字符 |
.+ |
一次或多次匹配任何字符 |
[abc] |
匹配abc集中的任何字符 |
[^abc] |
匹配不在abc集中的任何字符 |
\d |
匹配任意数字字符 |
(?([^\r\n])\s) |
与任何空格字符匹配 |
\b |
在单词的开头或结尾匹配 |
^ |
在行首匹配 |
.$ |
匹配任何换行符 |
\w\r?\n |
匹配行尾的单词字符 |
(dog|cat) |
捕获表达式dog|cat并对其进行隐式编号 |
(?<pet>dog|cat) |
捕获子表达式dog|cat并将其命名为pet |
二、示例
(1)匹配以特定字符串开头的值:select * from fruits where name rlike '^[A-G]';
(2)匹配以特定字符串结尾的值:select * from fruits where name rlike 'e$';
(3)匹配包含指定字符串的值:select * from fruits where name rlike 'an';
(4)匹配包含特定长度字符串的值:select * from fruits where name rlike '^.{6}$';
(5)检查是否为n为数字:'^\d{n}$'
(6)检查是否为非零的正整数:'^[1-9]\d*$'
(7)检查是否为浮点数:'^(-?\d+)(.\d+)?$'
(8)检查是否为负整数:'^-\d+$'
(9)检查是否为正整数或浮点数:'^\d+(.\d+)?$'
(10)检查是否为正数:'^[1-9]\d*|0$'
(11)检查是否为非负整数:'^\d+$'
(12)检查是否为非负浮点数:'^\d+(.\d+)?$'
(13)检查是否为汉字:'^[\u4e00-\u9fa5]+$'
(14)检查是否为英文和数字:'^[A-Za-z0-9]+$'
(15)检查是否为纯英文字母:'^[a-zA-Z]+$'
(16)检查是否为大写英文字母:'^[A-Z]+$'
(17)检查是否为小写英文字母:'^[a-z]+$'
(18)邮箱地址:'^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+.[a-zA-Z]{2,}$'
(19)手机号码:'^\d{11}$'
(20)IP地址:'^\d{1,3}.\d{1,3}.\d{1,3}.\d{1,3}$'
(21)URL地址:'^(http|https)://[\w-]+(.[\w-]+)+([\w.,@?^=%&:/+#-]*[\w@?^=%&/+#-])?$'
— 业精于勤荒于嬉,行成于思毁于随 —
MySQL - [09] 正则表达式的更多相关文章
- MySql 使用正则表达式
MySql 用where 子句对正则表达式提供了支持,允许你指定正则表达式,注意mysql仅支持多数正则表达式实现的一个很小的子集. 1.基本字符匹配: SELECT prod_name FROM p ...
- mysql中正则表达式的使用
mysql中正则表达式的性能要高于like,所以这里总结一下正则表达式的使用. 正则表达式的模式及其含义: 下面举例说明其用法: 建表student: create table student(id ...
- MYSQL使用正则表达式过滤数据
一.正则与LIKE的区别 Mysql的正则表达式仅仅使SQL语言的一个子集,可以匹配基本的字符.字符串.例如:select * from wp_posts where post_name REGEXP ...
- MySQL中正则表达式
正则表达式是用来匹配文本的特殊的串(字符集合),将一个模式(正则表达式)与一个文本串进行比较 从文本文件中提取电话号码 查找名字中间带有数字的文件 文本块中重复出现的单词 替换页面的URL为这些URL ...
- Mysql(四)正则表达式
一.正则表达式 1.使用like可以进行不确定的查询(模糊查询),然而,模糊 查询的功能有限,当需要进行更加复杂的模式匹配时,可以 使用正则表达式来完成. 2.正则表达式可以对指定的字符串与模式之间执 ...
- MySQL之正则表达式
一.介绍 正则表达式用来描述或者匹配符合规则的字符串.它的用法和like比较相似,但是它又比like更强大,能够实现一些很特殊的规则匹配:正则表达式需要使用REGEXP命令,匹配上返回"1& ...
- 果然学习好是有道理的,学习Mysql与正则表达式笔记
正则表达式是用来匹配文本的特殊的字符集合,将一个正则表达式与文本串进行比较,Mysql中用where子句提供支持,正则表达式关键字:regexp1.使用‘|’匹配两个串中的一个 2.使用‘[]’匹配几 ...
- MySQL使用正则表达式比较字段中的数字
今天遇到一个问题,需要对表中的一个类json字段的内容进行筛选,而筛选的条件是值要大于某个值.因为值的位数并不确定,考虑使用正则表达式进行筛选. 字段格式 类json的key-value字段,示例如下 ...
- mysql的正则表达式
所谓正在表达式,就是通过模式去匹配一类字符串.MySQL支持的模式字符如下表所示: MySQL支持的模式字符 模式字符 含义 ^ 匹配字符串的开始部分 $ 匹配字符串的结束部分 . 匹配字符串中的任意 ...
- 09.正则表达式re-3.常用的匹配规则
模式 描述 \w 匹配字母.数字及下划线 \W 匹配不是字母.数字及下划线的字符 \s 匹配任意空白字符,等价于[\t\n\r\f] \S 匹配任意非空字符 \d 匹配任意数字,等价于[0-9] \D ...
随机推荐
- WPS Pro 最新专业版,一站式办公
聊一聊 随着科技的进步,办公软件已经成为现代人工作和学习中不可或缺的重要工具.无论是在企业.学校还是个人使用中,办公软件都能够帮助我们提高工作效率.组织信息和进行沟通.在众多的办公套件中,微软的Off ...
- Pytest接口自动化测试框架Python自动化测试开发
一.引言 在软件开发过程中,接口测试是确保软件各个组件之间数据传输和功能交互正常工作的重要环节.通过接口测试,可以提高软件的整体质量和稳定性.Pytest是一个流行的Python自动化测试框架,提供了 ...
- RocketMQ系列3:核心技术介绍
1 介绍 RocketMQ是一款分布式消息中间件,其核心技术涉及多个核心概念,包括主题.队列.消息.生产者.消费者.消费者分组以及订阅关系.以下是对这些核心技术的详细说明: 2 核心技术实现 2.1 ...
- GraphQL Part III: 依赖注入
在 SOLID 设计原则中,D 表示依赖反转原则 高层组件不应该依赖于底层组件,双方应该基于抽象 抽象不应该依赖于实现,实现应该依赖于抽象 使用 new 操作符来创建对象实例会导致不同组件之间的紧耦合 ...
- Qt编写的项目作品16-Onvif搜索和云台控制工具
一.功能特点 广播搜索设备,支持IPC和NVR,依次返回. 可选择不同的网卡IP进行对应网段设备的搜索. 依次获取Onvif地址.Media地址.Profile文件.Rtsp地址. 可对指定的Prof ...
- Intellij IDEA开发环境中Springboot项目无Run ****main()的菜单
问题描述: Intellij IDEA开发环境中Springboot项目无Run ****main()的菜单. 解决办法有以下几种: 方法1:Idea无右键run选项, 无法通过main方法启动sp ...
- spark (四) RDD概念
目录 1. RDD基本概念 1.1 弹性 1.2 分布式 1.3 数据集 1.4 数据抽象 1.5 不可变 1.6 可分区.并行计算 2. WordCount为例,看RDD特性 3. RDD的五大属性 ...
- 编译Ubuntu 24.04 LTS 内核(BuildYourOwnKernel)
1.配置环境 修改apt源 修改 /etc/apt/sources.list.d/ubuntu.sources ,添加 "deb-src"到 Types:,修改后的文件内容如下: ...
- PS2021、色环插件Coolorus下载+色环无法拖动问题和没有压感问题的解决
PS2021+色环插件Coolorus+色环无法拖动问题解决+没有压感问题解决 1.资源下载链接 PS各版本下载: 感谢微博@vposy大佬无私奉献提供的各版本ADOBE软件直装破解: 百度网盘: p ...
- 深入解析子查询(SUBQUERY):增强 SQL 查询灵活性的强大工具
title: 深入解析子查询(SUBQUERY):增强 SQL 查询灵活性的强大工具 date: 2025/1/12 updated: 2025/1/12 author: cmdragon excer ...