【备注】 正则表达式 还是用在 过滤数据上多 现在工作中 用到更多是对 代码 关联表的查询 正则用的少些 简单做下笔记 正则面试也不问
mysql的正则表达式介绍
1、过滤例子允许用匹配、比较和通配操作符寻找数据
2、正则表达式是用来匹配文本的特殊的串(字符集合)
3、查找 替换
mysql的正则表达式使用方法
1、select zd from tabel where zd REGEXP ""
REGEXP 后面跟一个 正则表达式 字符串的匹配 起到like+通配符的作用
REGEXP "1000"
REGEXP ".000"
.是正则表达式语言中一个特殊的字符。它表示匹配任意一个字符
【MySQL中的正则表达式匹配(自版本3.23.4后)不区分大小写(即,大写和小写都匹配)。为区分大小写,可使用BINARY关键字,如WHERE prod_name REGEXPBINARY 'JetPack .000'。】
2、正则表达式的OR匹配 采用 |
REGEXP "1000|2000|3000"
3、匹配几个字符之一 [123] 匹配中括号里面的 任意一个字符 也是OR的意思
REGEXP "[123] Ton"
4、匹配范围
[0123456789] 范围不限于完整的集合,[1-3]和[6-9]也是合法的范围
此外,范围不一定只是数值的,[a-z]匹配任意字母字符
REGEXP '[1-5] Ton'
5、匹配特殊字符
正则表达式语言由具有特定含义的特殊字符构成 当我们需要匹配这些 特殊字符本身的时候
REGEX '\\.'
\\也用来引用元字符(具有特殊含义的字符)
MySQL要求两个反斜杠(MySQL自己解释一个,正则表达式库解释另一个)
6、匹配字符类
一类字符的集合 替换 这一类里面的任意字符
7、匹配多个实例
为止使用的所有正则表达式都试图匹配单次出现,
【理解】 匹配是匹配字符 可以简化的表达 在字符的后面表达我要匹配这个字符的次数 模糊匹配
regex 'sticks?'
>>> stick
>>> sticks
8、定位符
通常的匹配 匹配整个字符串,定位符 用来匹配指定的位置 首位 文本的开始结束 位于 文本的开始或者结束
【注】^有两种用法。在集合中(用[和]定义),用它来否定该集合,否则,用来指串的开始处