当前位置: 首页 > news >正文

mysql 正则表达式用法(一)

记录下关于mysql中regexp 正则匹配字符串的相关用法

一、匹配字符类

[:alnum:]  任意字母和数字(同[a-zA-Z0-9])
[:alpha:]  任意字符(同[a-zA-Z])
[:blank:]  空格和制表(同[\t])
[:cntrl:]  ASCII控制字符(ASCII 0到31和127)
[:digit:]  任意数字(同[0-9])
[:graph:]  与[:print:]相同,但不包括空格
[:lower:]  任意小写字母(同[a-z])
[:print:]  任意可打印字符
[:punct:]  既不在[:alnum:]又不在[:cntrl:]中的任意字符
[:space:]  包括空格在内的任意空白字符(同[\f\n\r\t\v])
[:upper:]  任意大写字母(同[A-Z])
[:xdigit:] 任意十六进制数字(同[a-fA-F0-9])

二、特定需求

  1. 仅匹配字符串内存在空格的情况
    方法1: select case when '123 456' regexp '^[^ ]+.*[[:blank:]].*[^ ]+$' then 1 else 0 end check_status
  2. 仅匹配字符串两端存在空格的情况
    方法1: 使用trim()函数来判断: select case when trim(check_col) != check_colthen 1 else 0 end check_status
    方法2: 正则判断 select case when '123' regexp '^ | $' then 1 else 0 end check_status
  3. 匹配非内部空格,包含两端空格以及\f\n\r\t\v等字符的情况
    方法: select case when check_col regexp '[[:space:]]' and check_colnot regexp '^[^ ]+.*[[:blank:]].*[^ ]+$' then 1 else 0 end check_status

相关文章:

  • 【基础算法练习】Trie 树
  • 【算法专题】贪心算法
  • git的分支操作
  • 特斯拉FSD的神经网络(Tesla 2022 AI Day)
  • 自然语言处理 TF-IDF
  • 有关UE5在VisualStudio升级后产生C++无法编译的问题及处理方案
  • 【Vue】为什么Vue3使用Proxy代替defineProperty?
  • Log4j2的PatternLayout详解
  • 如何使用Python+Flask搭建本地Web站点并结合内网穿透公网访问?
  • TypeScript实战系列之强力爆破泛型的困扰
  • vuex store,mutations,getters,actions
  • C++ 多线程编程中的条件变量std::condition_variable
  • 西瓜书学习笔记——层次聚类(公式推导+举例应用)
  • 在Ubuntu中修改系统时间并使其在掉电时保存
  • linux bash shell的getopt以及函数用法小记
  • Apache的基本使用
  • css的样式优先级
  • Linux Process Manage
  • Mysql5.6主从复制
  • Phpstorm怎样批量删除空行?
  • python_bomb----数据类型总结
  • Sass 快速入门教程
  • Vue.js-Day01
  • 聊聊hikari连接池的leakDetectionThreshold
  • 浅谈Kotlin实战篇之自定义View图片圆角简单应用(一)
  • 微服务框架lagom
  • 微信端页面使用-webkit-box和绝对定位时,元素上移的问题
  • 想写好前端,先练好内功
  • 一个普通的 5 年iOS开发者的自我总结,以及5年开发经历和感想!
  • 译米田引理
  • 在Docker Swarm上部署Apache Storm:第1部分
  • Android开发者必备:推荐一款助力开发的开源APP
  • ​520就是要宠粉,你的心头书我买单
  • #我与Java虚拟机的故事#连载10: 如何在阿里、腾讯、百度、及字节跳动等公司面试中脱颖而出...
  • (173)FPGA约束:单周期时序分析或默认时序分析
  • (2020)Java后端开发----(面试题和笔试题)
  • (ibm)Java 语言的 XPath API
  • (笔试题)合法字符串
  • (动态规划)5. 最长回文子串 java解决
  • (二)pulsar安装在独立的docker中,python测试
  • (企业 / 公司项目)前端使用pingyin-pro将汉字转成拼音
  • (转)ABI是什么
  • (转)C#开发微信门户及应用(1)--开始使用微信接口
  • (转载)CentOS查看系统信息|CentOS查看命令
  • .NET 4.0网络开发入门之旅-- 我在“网” 中央(下)
  • .net core 3.0 linux,.NET Core 3.0 的新增功能
  • .net 怎么循环得到数组里的值_关于js数组
  • .net遍历html中全部的中文,ASP.NET中遍历页面的所有button控件
  • .net快速开发框架源码分享
  • .NET中统一的存储过程调用方法(收藏)
  • @Autowired多个相同类型bean装配问题
  • [ Linux ] Linux信号概述 信号的产生
  • [Android Pro] listView和GridView的item设置的高度和宽度不起作用
  • [Android View] 可绘制形状 (Shape Xml)
  • [Android学习笔记]ScrollView的使用