1、首先首先正则表达式的话使用REGEXP 关键字,后面可以接正则表达式,mysql并不能处理所有的正则表达式
正则表达式并不是所有的都能在mysql中使用。
2、. 在正则表达式中可以匹配任意一个字符,而且必须匹配一个字符。
3 、like和REGEXP的最大区别是, LIKE 匹配整个列。如果被匹配的文本在列值中出现, LIKE 将不会找到它,相应的行也不被返回(除非使用通配符) 而 REGEXP 在列值内进行匹配,如果被匹配的文本在列值中出现, REGEXP 将会找到它,相应的行将被返回。like的话,如果过%出现在匹配最开始,会非常耗时间,效率也会非常低。
4、[] 中间包括的字符只匹配一个字符, [01]表示匹配0或者1,[0-3]表示匹配0,1,2,3之中的任意字符。
5、匹配特殊字符的话,那么就用\\+特殊字符来匹配。例如 \\.匹配 .。\\| 匹配|。
匹配 \ 为了匹配反斜杠( \ )字符本身,需要使用 \\\ 。
\ 或 \\? 多数正则表达式实现使用单个反斜杠转义特殊字符,
以便能使用这些字符本身。但MySQL要求两个反斜杠(MySQL
自己解释一个,正则表达式库解释另一个)。
6、\\ 也用来引用元字符(具有特殊含义的字符),如表9-1所列
| 元 字 符 | 说明 |
| \\f | 换页 |
| \\n | 换行 |
| \\r | 回车 |
| \\t | 制表 |
| \\v | 纵向制表 |
7、匹配字符类mysql有一些预定义的常量。
类 说 明
[:alnum:] 任意字母和数字(同[a-zA-Z0-9])
[:alpha:] 任意字符(同[a-zA-Z])
[:blank:] 空格和制表(同[\\t]
8、匹配多个实例
| 元 字 符 | 说明 |
| * | 0个或多个匹配 |
| + | 1个或多个匹配(等于{1,}) |
| ? | 0个或1个匹配(等于{0,1}) |
| {n} | 指定数目的匹配 |
| {m} | 不少于指定数目的匹配 |
| {n,m} | 匹配数目的范围(m不超过255) |
本文介绍了MySQL中正则表达式的使用方法,包括基本语法、特殊字符处理、字符类匹配等,并对比了LIKE与REGEXP的区别,帮助读者掌握MySQL中的高效搜索技巧。
--正则表达式&spm=1001.2101.3001.5002&articleId=79998328&d=1&t=3&u=cb638360640e4fce83a300b6b2e662ed)
1244

被折叠的 条评论
为什么被折叠?



