SQL-REGEX-常见正则表达式的使用

news2024/9/22 13:22:13

SQL-REGEX-常见正则表达式的使用

在SQL中,正则表达式(Regex)的使用可以帮助进行更灵活和精确的模式匹配和数据筛选。不同的数据库管理系统对于正则表达式的支持略有差异,但大体都是相似的。
在这里插入图片描述

Tips:

模式描述匹配内容
*Zero or more instances of string preceding it匹配之前字符串的零个或多个实例
+One or more instances of strings preceding it匹配之前字符串的一个或多个实例
.Any single character匹配任何单个字符
?Match zero or one instances of the strings preceding it匹配之前字符串的零个或一个实例
^Beginning of string匹配字符串的开头
$End of string匹配字符串的结尾
[abc]Any character listed between the square brackets匹配方括号内列出的任何字符
[^abc]Any character not listed between the square brackets匹配方括号内未列出的任何字符
[A-Z]match any upper case letter匹配任何大写字母
[a-z]match any lower case letter匹配任何小写字母
[0-9]match any digit from 0 through to 9匹配从 ‘0’ 到 ‘9’ 的任何数字
[[:<:]]matches the beginning of words匹配单词的开头
[[:>:]]matches the end of words匹配单词的结尾
[:class:]matches a character class匹配字符类,例如 [:alpha:] 匹配字母,[:space:] 匹配空白,[:punct:] 匹配标点符号,[:upper:] 匹配大写字母
p1|p2|p3Alternation; matches any of the patterns p1, p2, or p3匹配模式 p1、p2 或 p3 中的任何一个
{n}n instances of preceding element匹配前一个元素的 n 次实例
{m,n}m through n instances of preceding element匹配前一个元素的至少 m 次至多 n 次实例

在这里插入图片描述

Eg:

  1. * (零个或多个实例)
    • 模式: a*
      • 匹配: ``, a, aa, aaa
    • 模式: 12*
      • 匹配: 1, 12, 122, 1222

  1. + (一个或多个实例)
    • 模式: a+
      • 匹配: a, aa, aaa(但不匹配空字符串)
    • 模式: 12+
      • 匹配: 12, 122, 1222(至少包含一个’1’后跟至少一个’2’)

  1. . (任何单个字符)
    • 模式: a.b
      • 匹配: acb, a@b, a1b(其中 . 可以匹配任何字符)
    • 模式: ...
      • 匹配: 123, abc, @#$(任意三个字符的组合)

  1. ? (零个或一个实例)
    • 模式: colou?r
      • 匹配: color, colour(‘u’ 可选)
    • 模式: 10?
      • 匹配: 1, 10(‘0’ 可选)

  1. ^ (字符串的开头)
    • 模式: ^abc
      • 匹配: abc, abcdef(只有在字符串开头是’abc’时匹配)
    • 模式: ^[A-Z]
      • 匹配: A, B, C(只有在字符串开头是大写字母时匹配)

在这里插入图片描述
在这里插入图片描述


  1. $ (字符串的结尾)
    • 模式: xyz$
      • 匹配: xyz, abcxyz(只有在字符串结尾是’xyz’时匹配)
    • 模式: [0-9]$
      • 匹配: 1, 2, 9(只有在字符串结尾是数字时匹配)

在这里插入图片描述

在这里插入图片描述

  1. [abc] (方括号内列出的任何字符)
    • 模式: [aeiou]
      • 匹配: a, e, i, o, u(匹配任何元音字母)
    • 模式: [0-5]
      • 匹配: 0, 1, 2, 3, 4, 5(匹配 0 到 5 的任何数字)

  1. [^abc] (方括号内未列出的任何字符)
    • 模式: [^0-9]
      • 匹配: a, A, @(匹配除了数字以外的任何字符)
    • 模式: [^aeiou]
      • 匹配: b, c, d(匹配除了元音字母以外的任何字母)

  1. [A-Z] (任何大写字母)
    • 模式: [A-F]
      • 匹配: A, B, C, D, E, F(匹配从’A’到’F’的任何大写字母)
    • 模式: [M-Z]
      • 匹配: M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z(匹配从’M’到’Z’的任何大写字母)

  1. [a-z] (任何小写字母)
    • 模式: [a-h]
      • 匹配: a, b, c, d, e, f, g, h(匹配从’a’到’h’的任何小写字母)
    • 模式: [p-z]
      • 匹配: p, q, r, s, t, u, v, w, x, y, z(匹配从’p’到’z’的任何小写字母)

  1. [0-9] (任何数字)
    • 模式: [1-5]
      • 匹配: 1, 2, 3, 4, 5(匹配从’1’到’5’的任何数字)
    • 模式: [7-9]
      • 匹配: 7, 8, 9(匹配从’7’到’9’的任何数字)

  1. [[:<:]] (单词的开头)
    • 模式: [[:<:]]foo
      • 匹配: foobar, foo123(匹配以’foo’开头的单词)
    • 模式: [[:<:]]bar
      • 匹配: bar, barista(匹配以’bar’开头的单词)

  1. [[:>:]] (单词的结尾)
    • 模式: foo[[:>:]]
      • 匹配: endfoo, foo(匹配以’foo’结尾的单词)
    • 模式: bar[[:>:]]
      • 匹配: bar, barista(匹配以’bar’结尾的单词)

  1. [:class:] (字符类)
    • 模式: [[:digit:]]
      • 匹配: 0, 1, 2, …, 9(匹配任何数字)
    • 模式: [[:alpha:]]
      • 匹配: a, B, C, …, Z(匹配任何字母)

  1. p1|p2|p3 (选择)
    • 模式: cat|dog
      • 匹配: cat, dog(匹配’cat’或’dog’)
    • 模式: yes|no|maybe
      • 匹配: yes, no, maybe(匹配’yes’、‘no’或’maybe’)

  1. {n} (前一个元素的 n 次实例)
    • 模式: a{3}
      • 匹配: aaa(匹配三个连续的’a’)
    • 模式: [0-9]{2}
      • 匹配: 12, 34, 56(匹配两位数的数字)

  1. {m,n} (前一个元素的 m 到 n 次实例)
    • 模式: x{2,4}
      • 匹配: xx, xxx, xxxx(匹配两到四个连续的’x’)
    • 模式: [A-Za-z]{5,10}
      • 匹配: abcdef, AbCdEfG, xyzWXYZ123(匹配包含 5 到 10 个字母的字符串)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1947887.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

优选算法之前缀和(上)

目录 一、【模板】一维前缀和 1.题目链接&#xff1a;DP34【模板】前缀和 2.题目描述&#xff1a; 3.解法&#xff08;前缀和&#xff09; &#x1f343;算法思路&#xff1a; &#x1f343;算法代码&#xff1a; 二、【模板】二维前缀和 1.题目链接&#xff1a;DP35【…

海外短剧CPS分销推广系统平台源码搭建方案介绍

随着全球内容消费市场的日益繁荣&#xff0c;短剧作为一种新兴的娱乐形式&#xff0c;正在迅速赢得全球观众的喜爱。特别是当国内短剧以其独特的创意和精湛的制作技艺&#xff0c;吸引了大量海外观众的关注时&#xff0c;短剧出海成为了国内影视行业的一大趋势。接下来为大家介…

HarmonyOS三方库的使用

系统组件难以提供比较优秀的界面&#xff0c;需要第三方库来实现一些比较好看的界面效果 三方库的获取&#xff1a; 开源社区支持OpenHarmony-TPC 和 Openharmony三方库中心仓 先目前已经拥有各种各样的三方库&#xff0c;包括UI 图片 动画 网络 数据存储 工具类 多媒体 安全等…

Cookie与Session 实现登录操作

Cookie Cookie 是网络编程中使用最广泛的一项技术&#xff0c;主要用于辨识用户身份。 客户端&#xff08;浏览器&#xff09;与网站服务端通讯的过程如下图所示&#xff1a; 从图中看&#xff0c;服务端既要返回 Cookie 给客户端&#xff0c;也要读取客户端提交的 Cookie。所…

Android开发中使用Base64类库进行密码加密报错解决

在对密码加密采用sdk自带类库Base64加密时&#xff0c;函数可跳转&#xff0c;能够索引到类函数位置&#xff0c;但是运行出现报错。 使用情况&#xff1a; 引用&#xff1a;import java.util.Base64; 调用&#xff1a;String decode new String(Base64.getEncoder().encod…

实战练习之Linux上实现shell脚本自动化编程

实验拓扑要求 主机环境描述 注意&#xff1a; 172.25.250.101-172.25.250.105 共 5 个 IP 地址由servera.exam.com服务器进行提供。172.25.250.106 由 serverb.exam.com 服务器进行提供。 需求描述 1. 172.25.250.101 主机上的 Web 服务要求提供 www.exam.com Web站点&#…

模拟ADG主库归档文件丢失,备库出现gap(增量备份解决)

文章目录 一、说明二、环境信息2.1.主备库环境信息2.2.检查主备是否同步正常 三、模拟日志断档3.1.模拟主库归档文件丢失3.2 查看主库状态出现GAP 四、RMAN增量备份恢复备库同步4.1 RMAN增量恢复备库4.2 开启备库redo同步4.3 主备库验证同步 一、说明 模拟Oracle主库归档文件丢…

C++图书管理系统

目录 实现功能 用户管理 图书管理 借阅与归还 未归还图书 部分效果图 结构体 Book 结构体 User 结构体 源代码 编译时在连接器命令行加入 完整代码 实现功能 用户管理 添加用户&#xff1a;输入用户ID、用户名和密码…

简单的git分支mergepush权限设定

简单的git分支merge&push权限设定 1. 需求 公司的分支很多&#xff0c;主要的有master分支&#xff0c;很多的业务需求分支&#xff0c;开发测试分支(uat,uat2,sit,sit2)&#xff0c;这些分支当前是谁都可以进行提交&#xff0c;但是如果在分支上直接修改&#xff0c;或者…

3.1、数据结构-线性表

数据结构 数据结构线性结构线性表顺序存储和链式存储区别单链表的插入和删除练习题 栈和队列练习题 串&#xff08;了解&#xff09; 数据结构 数据结构该章节非常重要&#xff0c;上午每年都会考10-12分选择题下午一个大题 什么叫数据结构&#xff1f;我们首先来理解一下什…

如何查找下载安装安卓APK历史版本?

在安卓设备上&#xff0c;有时候我们可能希望安装某个软件的旧版本&#xff0c;可能是因为新版本不兼容、功能改变不符合需求或是其他原因。 安卓系统并不像iOS那样提供直观的历史版本下载界面。 不过&#xff0c;通过一些第三方市场和网站&#xff0c;我们仍然可以找到并安装…

通信原理实验六:实验测验

实验六 实验测验 一&#xff1a;测验内容和要求 测试需要完成以下几个步骤&#xff1a; 配置好以下网络图&#xff1b;占总分10%&#xff08;缺少一个扣一分&#xff09;根据下面图配置好对应的IP和网关以及路由等相关配置&#xff0c;保证设备之间连通正常&#xff1b;占总…

数据结构经典测试题4

1. #include <stdio.h> int main() { char *str[3] {"stra", "strb", "strc"}; char *p str[0]; int i 0; while(i < 3) { printf("%s ",p); i; } return 0; }上述代码运行结果是什么&#xff1f; A: stra strb strc B: s…

前端面试宝典【Javascript篇】【2】

欢迎来到《前端面试宝典》&#xff0c;这里是你通往互联网大厂的专属通道&#xff0c;专为渴望在前端领域大放异彩的你量身定制。通过本专栏的学习&#xff0c;无论是一线大厂还是初创企业的面试&#xff0c;都能自信满满地展现你的实力。 核心特色&#xff1a; 独家实战案例…

Flink之重启策略

目录 1、固定延迟重启策略 2、失败率重启策略 3、不重启策略 在设置完 CheckPoint() 检查点机制后&#xff0c;不设置重启策略的话&#xff0c;&#xff0c;可以无限重启程序&#xff0c;那么设置的检查点机制也就没有什么意义了。因此&#xff0c;在生产实践中&#xff0c;…

笔记本检测工具 | 爱回收笔记本质检系统 v1.9.6

软件简介 爱回收笔记本质检系统是一款专为笔记本电脑硬件检测而设计的软件。它以其快速的检测速度、简便的操作流程和直观的检测结果&#xff0c;为用户提供了一种高效、易懂的硬件检测解决方案。 这款软件不仅适用于对电脑硬件有一定了解的用户&#xff0c;也特别适合对硬件…

Sentinel隔离、降级、授权规则详解

文章目录 Feign整合Sentinel线程隔离熔断降级授权规则自定义异常结果 上一期教程讲解了 Sentinel 的限流规则&#xff1a; Sentinel限流规则&#xff0c;这一期主要讲述 Sentinel 的 隔离、降级和授权规则 虽然限流可以尽量避免因高并发而引起的服务故障&#xff0c;但服务还…

【玩转C语言】第五讲--->数组-->一维和多维深度理解

&#x1f525;博客主页&#x1f525;&#xff1a;【 坊钰_CSDN博客 】 欢迎各位点赞&#x1f44d;评论✍收藏⭐ 引言&#xff1a; 大家好&#xff0c;我是坊钰&#xff0c;为了让大家深入了解C语言&#xff0c;我开创了【玩转C语言系列】&#xff0c;将为大家介绍C语言相关知识…

你还在为文件翻译烦恼吗?试试这四款神器,轻松搞定一切!

现如今的信息传播速度不断得加快&#xff0c;无论是中外交流还是学习&#xff0c;也越来越多小语种出现在我们的工作和生活当中来了&#xff0c;其中不伐一些文件批量的形式&#xff0c;所以今天就具体来探讨一下&#xff0c;关于文件翻译的四款辅助工具&#xff1a; 一、福昕在…

openGauss触发器详解

openGauss 是一款开源关系型数据库管理系统&#xff0c;广泛应用于企业级应用中。随着数据量的增长和业务逻辑的复杂化&#xff0c;数据库管理和操作的自动化需求越来越高。触发器&#xff08;Triggers&#xff09;作为数据库中重要的编程工具&#xff0c;能够极大地简化复杂操…