转载:https://mp.weixin.qq.com/s/7RavuYGs9SthX2pxGJppqw

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] 正则表达式的更多相关文章

  1. MySql 使用正则表达式

    MySql 用where 子句对正则表达式提供了支持,允许你指定正则表达式,注意mysql仅支持多数正则表达式实现的一个很小的子集. 1.基本字符匹配: SELECT prod_name FROM p ...

  2. mysql中正则表达式的使用

    mysql中正则表达式的性能要高于like,所以这里总结一下正则表达式的使用. 正则表达式的模式及其含义: 下面举例说明其用法: 建表student: create table student(id ...

  3. MYSQL使用正则表达式过滤数据

    一.正则与LIKE的区别 Mysql的正则表达式仅仅使SQL语言的一个子集,可以匹配基本的字符.字符串.例如:select * from wp_posts where post_name REGEXP ...

  4. MySQL中正则表达式

    正则表达式是用来匹配文本的特殊的串(字符集合),将一个模式(正则表达式)与一个文本串进行比较 从文本文件中提取电话号码 查找名字中间带有数字的文件 文本块中重复出现的单词 替换页面的URL为这些URL ...

  5. Mysql(四)正则表达式

    一.正则表达式 1.使用like可以进行不确定的查询(模糊查询),然而,模糊 查询的功能有限,当需要进行更加复杂的模式匹配时,可以 使用正则表达式来完成. 2.正则表达式可以对指定的字符串与模式之间执 ...

  6. MySQL之正则表达式

    一.介绍 正则表达式用来描述或者匹配符合规则的字符串.它的用法和like比较相似,但是它又比like更强大,能够实现一些很特殊的规则匹配:正则表达式需要使用REGEXP命令,匹配上返回"1& ...

  7. 果然学习好是有道理的,学习Mysql与正则表达式笔记

    正则表达式是用来匹配文本的特殊的字符集合,将一个正则表达式与文本串进行比较,Mysql中用where子句提供支持,正则表达式关键字:regexp1.使用‘|’匹配两个串中的一个 2.使用‘[]’匹配几 ...

  8. MySQL使用正则表达式比较字段中的数字

    今天遇到一个问题,需要对表中的一个类json字段的内容进行筛选,而筛选的条件是值要大于某个值.因为值的位数并不确定,考虑使用正则表达式进行筛选. 字段格式 类json的key-value字段,示例如下 ...

  9. mysql的正则表达式

    所谓正在表达式,就是通过模式去匹配一类字符串.MySQL支持的模式字符如下表所示: MySQL支持的模式字符 模式字符 含义 ^ 匹配字符串的开始部分 $ 匹配字符串的结束部分 . 匹配字符串中的任意 ...

  10. 09.正则表达式re-3.常用的匹配规则

    模式 描述 \w 匹配字母.数字及下划线 \W 匹配不是字母.数字及下划线的字符 \s 匹配任意空白字符,等价于[\t\n\r\f] \S 匹配任意非空字符 \d 匹配任意数字,等价于[0-9] \D ...

随机推荐

  1. 鼠标事件:mouseout、mouseover事件会不断触发

    mouseover 和 mouseenter mouseenter不会冒泡,而mouseover会冒泡 mouseover:指针进入事件监听的元素内 或者 其他的子元素内 都会触发mouseover ...

  2. 工欲善其事,必先利其器。如何玩转 VS Code?

    Visual Studio Code 作为广受好评的开发工具,已经被越来越多的开发者当作首选的开发工具.然而,你真的了解 VS Code 了吗?你真的会使用 VS Code,把 VS Code 的强大 ...

  3. 在 ASP.NET Core 中使用 Tailwind

    在 ASP.NET Core 中使用 Tailwind https://khalidabuhakmeh.com/install-tailwind-css-with-aspnet-core 表单和函数是 ...

  4. 【C#】【平时作业】习题-6-静态成员

    习题-6静态成员 一.概念题 1. 什么是静态成员 被static修饰的成员,叫做静态成员.静态成员是属于类的.通过类名直接访问. 当类第一次被访问的时候,就会将这个类下面的所有的静态成员创建在内存当 ...

  5. 【人工智能】【深度学习】CUDA与CUDNN安装

    cuDA安装 基础 CUDA工具包 NVIDIA CUDA 工具包提供了开发环境,可供创建经 GPU 加速的高性能应用.借助 CUDA 工具包,您可以在经 GPU 加速的嵌入式系统.台式工作站.企业数 ...

  6. Qt编写的项目作品12-简易视频播放器

    一.功能特点 多线程实时播放rtsp视频流. 支持windows+linux+mac. 多线程显示图像,不卡主界面. 自动重连网络摄像头. 可设置边框大小即偏移量和边框颜色. 可设置是否绘制OSD标签 ...

  7. 编译Sophus报错: error: implicitly-declared 的参考解决方法

    一.问题描述 自己在编译Sophus时遇到如下错误: /home/wong/Datum/third_party/Sophus-1.0.0-template/Sophus-1.0.0/test/core ...

  8. .net core 3.x 发布单文件

    .翻译自:https://github.com/dotnet/designs/blob/master/accepted/2020/single-file/staging.md NET Core 3.0 ...

  9. 《计算机体系结构与SoC设计》(二)

    1. 多指令流单数据流 多指令流单数据流(Multiple Instruction Stream, Single Data Stream,简称 MISD)是一种处理器设计概念,它允许处理器在单个时钟周 ...

  10. 记录下uniapp的请求封装

    请求封装就是经常见的事但是从来没有记录过,今天来记录一下简单的封装 首先封装自己的域名,可以和封装写在一起,但是最好单独写一个独立的js文件 这边就以一个域名为例 let baseUrl='域名地址' ...