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) |