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 ...
随机推荐
- IOS中的Context Menu
IOS中的Context Menu 通过长按组件或者3D touch方式,周边全部虚化,弹出一个可操作的菜单,并且菜单之间也可以嵌套 IOS13之后已经弃用UIViewControllerPrevie ...
- 使用terraform管理Proxmox VE资源
terraform-proxmox 使用terraform管理proxmox资源 Using terraform to manage proxmox resources env: Proxmox VE ...
- 【Linux】CentOS7 远程联机
# CentOS7 远程联机 哔哩哔哩 萌狼蓝天 博客:https://mllt.cc 微信公众号:萌狼蓝天 检查与安装配置OpenSSH [CentOS7]检查系统是否安装OpenSSH yum - ...
- 深入理解 Servlet:从基础概念到高级特性与实战应用
一.Servlet简介与工作原理 Servlet是Java Web开发中的重要组件,它运行在服务器端,用于处理客户端的请求并返回响应.其工作原理涉及多个组件和步骤,从客户端发起请求到服务器端的处理和响 ...
- Qt开源作品35-秘钥生成器
一.前言 在很多商业软件中,需要提供一些可以试运行的版本,这样就需要配套密钥机制来控制,纵观大部分的试用版软件,基本上采用以下几种机制来控制. 远程联网激活,每次启动都联网查看使用时间等,这种方法最完 ...
- OGC——WFS服务
一.WFS简介 OGC的WMS和WMTS规范都是有关空间数据显示的标准,而WFS(Web Feature Service)则允许用户在分布式的环境下通过HTTP对空间数据进行增.删.改.查. 具 ...
- 零基础IM开发入门(四):什么是IM系统的消息时序一致性?
本文引用了沈剑<如何保证IM实时消息的"时序性"与"一致性"?>一文的图片和内容(由于太懒,图没重新画),原文链接在文末. 1.引言 本文接上篇&l ...
- IM开发干货分享:网易云信IM客户端的聊天消息全文检索技术实践
1.引言 在IM客户端的使用场景中,基于本地数据的全文检索功能扮演着重要的角色,最常用的比如:查找聊天记录.联系人,就像下图这样. ▲ 微信的聊天记录查找功能 类似于IM中的聊天记录查找.联系人搜索这 ...
- JVM实战—6.频繁YGC和频繁FGC的后果
大纲 1.JVM GC导致系统突然卡死无法访问 2.什么是Young GC什么是Full GC 3.Young GC.Old GC和Full GC的发生情况 4.频繁YGC的案例(G1解决大内存YGC ...
- WxPython跨平台开发框架之动态菜单的管理和功能权限的控制
在一个业务管理系统中,如果我们需要实现权限控制功能,我们需要定义好对应的权限功能点,然后在前端界面中对界面元素的可用性和功能点进行绑定,这样就可以在后台动态分配权限进行动态控制了,一般来说,权限功能点 ...