你还不懂MYSQL正则表达式?

news/2024/7/7 21:20:34

正则表达式匹配的字符类

  • .:匹配任意单个字符
  • ^:匹配字符串的开始
  • $:匹配字符串的结束
  • *:匹配0个或多个前面的元素,尽可能多的
  • +:匹配1个或多个前面的元素,尽可能多的
  • ?:匹配0个或1个前面的元素,尽可能多的
  • *?:匹配0个或多个前面的元素,尽可能少的
  • +?:匹配1个或多个前面的元素,尽可能少的
  • ??:匹配0个或1个前面的元素,尽可能少的
  • [abc]:匹配字符集中的任意一个字符
  • [^abc]:匹配除了字符集中的任意一个字符以外的字符,即[abc]的补集
  • [a-z]:匹配范围内的任意一个小写字母
  • \d:匹配一个数字字符
  • \w:匹配一个字母数字字符(包括下划线)
  • \s:匹配一个空白字符(空格,换行,制表符)
  • {n,m}:指定重复的上线和下线

使用REGEXP进行模式匹配

REGEXP是用于进行正则表达式匹配的运算符
REGEXP用于检查一个字符串是否匹配指定的正则表达式模式,以下是基本语法

select column1,column2,...
from table_name
where column_name regexp 'pattern';

参数说明:

  • column1,column2是要选择查询的列名,使用*查询全部
  • table_name 是选择从哪一张表中查询数据
  • column_name是你要进行正则表达式匹配的列的列名
  • pattern是一个正则表达式模式 

查找 name 字段中以 'st' 为开头的所有数据:

mysql-> select * from perpson where name regexp '^st' 

查找 name 字段中以 'ok' 为结尾的所有数据:

mysql-> select * from peoson where name regexp 'ok$'

查找 name 字段中包含 'mar' 字符串的所有数据:

mysql-> select * from person where name regexp 'mar' 

查找 name 字段中以元音字符开头或以 'ok' 字符串结尾的所有数据:

mysql-> select * from person where name regexp '[aeiou]|ok$' 

选择订单表中描述中包含 "item" 后跟一个或多个数字的记录:

mysql-> select * from orders where order_description regexp 'item[0-9]+' 

使用 BINARY 关键字,使得匹配区分大小写:

mysql-> select * from person where name regexp binary 'Alice' 

使用 OR 进行多个匹配条件,以下将选择姓氏为 "Smith" 或 "Johnson" 的员工记录:

mysql-> select * from person where name regexp 'Smith|Johnson' 


http://lihuaxi.xjx100.cn/news/2161752.html

相关文章

记一次IP访问MySQL失败多次被自动锁定导致无法连接问题,解决方法一条SQL足以。

👩🏽‍💻个人主页:阿木木AEcru 🔥 系列专栏:《Docker容器化部署系列》 《Java每日面筋》 💹每一次技术突破,都是对自我能力的挑战和超越。 前言 今天下午还在带着耳机摸鱼&#xff…

如何将PHP的Webman框架打包成二进制文件运行

看了看webman的官方文档,发现居然还能打包为二进制,这样太厉害了吧! 先执行这个 composer require webman/console ^1.2.24 安装这个console的包,然后 执行 php webman build:bin 8.1 结果谁想到它报错提示: 好…

武汉星起航:深耕亚马逊平台,引领跨境电商市场新风向

在当今时代,跨境电商行业正迎来前所未有的发展机遇。武汉星起航电子商务有限公司以其深厚的行业积淀和敏锐的市场洞察力,深耕亚马逊平台,为创业者提供全方位、专业化的跨境电商服务,成为行业内的引领者。 亚马逊作为全球电商巨头…

学浪视频如何下载?

学浪官方没有提供下载按钮,但是又有这方面需求,于是业内有位大佬开发了小浪助手,他把批量获取课程,批量获取课程里面的视频m3u8地址和key,集成到一个软件 学浪的m3u8视频地址其实是有时间限制的 下面是那位大佬开发的…

正则问题(c++实现)

题目 考虑一种简单的正则表达式: 只由 x ( ) | 组成的正则表达式。 小明想求出这个正则表达式能接受的最长字符串的长度。 例如 ((xx|xxx)x|(x|xx))xx 能接受的最长字符串是: xxxxxx,长度是6。 输入 一个由x()|组成的正则表达式。 输出 输…

Java面试题:解释单例模式的实现方式及其优缺点,讨论线程安全性的实现。

单例模式(Singleton Pattern)是一种设计模式,用于确保一个类仅有一个实例,并提供一个全局点来访问它。单例模式有几种不同的实现方式,每种方式都有其优缺点。 1. 懒汉式(Lazy Initialization) …

练习 23 Web [网鼎杯 2020 青龙组]AreUSerialz

反序列化的执行顺序复习 file_get_content()可以读取php://filter伪协议 参考博客:一篇很全的PHP伪协议总结 打开靶机直接给了我们php代码(贴在最后) 反序列化 复习自己练习17中的内容 本题中出现的两个魔术方法 __construct():…

SpringMVC初始化工程

SpringMVC初始化工程 本文采用maven作为构建工具,SpringMVC作为主框架。 创建一个maven的web工程,并配置pom文件<!-- pom.xml --> <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0&qu…