语法:
复制代码 代码示例:
---不区分大小
select * from table_name where column_name regexp '正则表达式'
---区分大小写
select * from table_name where column_name regexp binary '正则表达式'
支持的正则表达式符号:
. 任意字符
| 或,如:a|b|c
[] 范围,比如:[a-z],[0-9],[^0-9]不包括0-9字符
^ 在[]中表示排除,否则表示匹配开头
// 转义,如:///表示匹配/,//.表示匹配.
* 0个或多个
+ 1个或多个
? 0个或1个
{n} n个
{n,} 不少于n个
{n,m} n到m个
$ 匹配结尾
[:alnum:] 任意字母和数字,相当于[a-zA-Z0-9]
[:alpha:] 任意字符[a-zA-Z]
[:blank:] 空格和制表[//t]
[:cntrl:] ascii控制字符
[:digit:] 数字[0-9]
[:graph:][:print:] 可打印字符
[:lower:] 小写字母
[:upper:] 大写字母
[:xdigit:] 十六进制数[a-fA-F0-9]
例子:
复制代码 代码示例:
[[:digit:]]{4},匹配任意4位数字
有关 mysql 正则查询的小结。
1,以“a”开头的名字,使用“^”匹配名字的开始并且“[aA]”匹配小写或大写的“A”:SELECT * FROM wyztester WHERE name REGEXP "^[aA]";
2,以“ceshi”结尾的名字,使用“$”匹配名字的结尾:SELECT * FROM wyztester WHERE name REGEXP "ceshi$";
3,包含正好5个字符的名字,使用“^”和“$”匹配名字的开始和结尾,和3个“a”实例在两者之间:SELECT * FROM wyztester WHERE name REGEXP "^aaa$";4 也可以使用“{n}”“
重复n次”操作符重写先前的查询:
复制代码 代码示例:
SELECT * FROM wyztester WHERE name REGEXP "^a{5}$";
就介绍这些吧,希望有助于大家理解与掌握mysql正则查询的相关内容。
脚本学堂,祝大家学习进步。