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 ...
随机推荐
- Vue2 面试题 (2023-09-22更新)
基础 Vue2.0 兼容 ie 哪个版本? 不支持 ie8,部分兼容 ie9,完全兼容 ie10 因为 vue 的响应式原理是基于 es5 的 Object.defineProperty 这个方法不支 ...
- Flutter 长列表优化
Flutter 长列表优化 固定列表和长列表的区别 固定列表中的组件,每次都会被重新构建 ListView.builder会按需构建列表元素,也就是只有那些可见得元素才会调用itemBuilder 构 ...
- Flutter TextField设置值后光标位置偏移
Flutter TextField设置值后光标位置偏移 一般用controller设置值是这样设置的 TextEditingController controller = TextEditingCon ...
- .NET Aspire Apps 集成测试
原文:https://fiodar.substack.com/p/integration-testing-dotnet-aspire-apps 对于软件开发来说,拥有自动化的覆盖测试非常重要.尽管手工 ...
- RabbitMQ, Windows Server 上服务总线的替代品
RabbitMQ, Windows Server 上服务总线的替代品 https://www.robfox.io/2017/04/17/rabbitmq-alternative-service-bus ...
- django推导流程
目录 一.纯手撸web框架 二.基于wsgiref模块 三.代码封装优化 四.动静态网页 五.jinja2模块 六.前端.后端.数据库三者联动 一.纯手撸web框架 1.web框架的本质 理解1:连接 ...
- Mac安装CMake
官网下载CMake: 传送门:https://cmake.org/download/ image.png 安装完打开: image.png 选择Tools-->How to instal ...
- Docker基础教程快速入门 Linux CentOS安装与使用Docker容器
Docker 介绍 Docker 属于 Linux 容器的一种封装,提供简单易用的容器使用接口.它是目前最流行的 Linux 容器解决方案. Docker 将应用程序与该程序的依赖,打包在一个文件里面 ...
- Qt开源作品20-PNG图片警告去除工具
一.前言 在新版的Qt5中,我们之前在Qt4中使用的png图片,到了这里经常会报一个警告,libpng warning: iCCP: known incorrect sRGB profile,尽管这种 ...
- Gitea搭建
关闭注册 找到gitea的配置文件gitea/conf/app.ini,把下面的设置改为true即可: [service] DISABLE_REGISTRATION = true 关闭openid [ ...