当前位置:   article > 正文

sql函数--09---REGEXP_sql regexp

sql regexp

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


正则表达式概述

  • SQL中的正则表达式主要使用REGEXPRLIKE关键词进行匹配

Java 正则表达式

正则表达式语法符号

‘^’匹配行首的位置
‘$’匹配行尾的位置
‘.’匹配任意单个字符
‘*’匹配前面的字符零次或多次
‘+’匹配前面的字符一次或多次
‘?’匹配前面的字符零次或一次
‘[ ]’匹配字符组中的任意一个字符
‘[^]’匹配除了字符组中的任意一个字符以外的字符
‘-’表示字符范围,例如’[a-z]'匹配任意小写字母
‘’转义字符,用于匹配特殊字符或元字符本身
‘\d’匹配任意数字字符
‘\D’匹配任意非数字字符
‘\w’匹配任意字母,数字和下划线
‘\W’匹配任意非字母,数字和下划线
‘\s’匹配任意空白字符
‘\S’匹配任意非空白字符
‘\b’匹配单词边界位置
‘\B’匹配非单词边界位置
‘()’创建捕获组,用于提取匹配的内容
‘\n’引用捕获组中的内容

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

注意事项

  1. 正则表达式匹配是对文本逐行进行的,不会跨行匹配。
  2. 正则表达式匹配相对较慢,不适合大规模数据的处理

sql函数—REGEXP 案例1

示例1:查找以’M’开头的名字

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

示例2:查找包含数字的字符串

在这里插入图片描述

在这里插入图片描述

示例3:查找包含多个关键词的行

①使用|表示“或”关系,例如a|b匹配字符"a"或"b"。

②使用+匹配前面的字符一次或多次,使用?匹配前面的字符零次或一次。

在这里插入图片描述

示例4:提取日期中的年份

  • 捕获组:使用括号()创建捕获组,以便在匹配中提取特定部分。
  • 可以使用\n(n为数字)引用捕获组中的内容。

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

示例5:查找所有符合邮箱格式的地址

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

示例6:查询一级行以及 下面子行的部门id

SELECT organize_code FROM  t_badge WHERE organize_code REGEXP  (
       SELECT GROUP_CONCAT(CODE SEPARATOR '|')   FROM t_organize
        WHERE parent_id = (SELECT id FROM t_organize WHERE org_refno = 'A0001')
         AND deleted = 0  AND tag_code = 1      
       )    
  • 1
  • 2
  • 3
  • 4
  • 5

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

案例2

在这里插入图片描述

1、^ 查询以field开头的字符串

在这里插入图片描述

2、$ 查询以field结尾的字符串

在这里插入图片描述

3.1、| 查询含有field或mac或rose结尾的字符串

在这里插入图片描述

3.2、^ , | 查询以field开头或含有mac或rose的字符串

在这里插入图片描述

4、$ , | 查询以field结尾或以mac结尾或含有rose的字符串

在这里插入图片描述

5、[ ] 查询含有‘ge’或‘ie’或‘me’的字符串

在这里插入图片描述

6、[ ] 查询含有’a-h’中的字母加上’e’的字符串

在这里插入图片描述

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/从前慢现在也慢/article/detail/889898
推荐阅读
相关标签
  

闽ICP备14008679号