MySQL 正则表达式

基本用法

#查询以aaa开头以cd结尾的字符串
SELECT * FROM a WHERE str REGEXP '^aaa%cd$'; 
#OR 匹配 
SELECT * FROM a WHERE str REGEXP '1001|1002';
#范围匹配,'13[1-9]'相当于'13[123456789]'
SELECT * FROM a WHERE col REGEXP '13[1-9]';
空白元字符
元字符 说明
\f 换页
\n 换行
\r 回车
\t 制表符
\v 纵向制表符
重复元字符
元字符 说明
* 0个或多个匹配
+ 1个或多个匹配,同{1,}
? 0个或1个匹配,同{0,1}
{n} 匹配n次
{n,} 匹配至少n次
{n,m} 匹配n到m次,m不超过255
定位元字符
元字符 说明
^ 文本开头
$ 文本结尾
[[:>:]] 词的开始
[[:<:]] 词的结尾
匹配字符类
字符类 说明
[:alnum:] 任意字母和数字(同[a-zA-Z0-9])
[:alpha:] 任意字母(同[a-zA-Z])
[:blank:] 空格和制表(同[\t])
[:cntrl:] ASCII控制字符(ASCII 0 - 37和127)
[:digit:] 任意数字(同[0-9])
[:print:] 任意打印字符
[:graph:] 同[:print:]但不含空格
[:lower:] 任意小写字母(同[a-z])
[:upper:] 任意大写字母(同[A-Z])
[:punct:] 既不在[:alnum:]也不知[:print:]的任意字符
[:space:] 包含空格在内的任意空白字符(同[\f\t\n\r\v])
[:xdigit:] 任意十六进制字符(同[0-9a-fA-F])

你可能感兴趣的:(MySQL)