MySql 正则表达式

注意:mysql 仅支持多数正则表达式实现的一个很小的子集。

基本字符匹配

举例:select prod_name from products where prod_name regexp '1000' order by prod_name;

说明:搜索products中prod_name中包含1000的行

进行or匹配

举例:select prod_name from products where prod_name regexp '1000|2000' order by prod_name;

说明:搜索products中prod_name中包含1000或2000的行

匹配几个字符之一

可通过指定一组用[]括起来额字符来完成

举例:select prod_name from products where prod_name regexp '[123] Ton' order by prod_name;

说明:搜索products中prod_name中包含1 Ton或2 Ton或3 Ton的行

对于连续范围的,例如[0123456789]简写为[0-9]

匹配特殊字符

为了匹配特殊字符,必须用\\为前导。\\-表示查找-\\.表示查找.
其它特殊字符:

\\f  换页
\\n  换行
\\r  回车
\\t  制表
\\v  纵向制表


匹配多个实例

可以用一下正则表达式重复元字符来完成

*  0个或多个匹配
+  1个或多个匹配
?  0个或1个匹配
{n}  指定数目的匹配
{n,}  不少于指定数目的匹配
{n,m}  匹配数目的范围(m不超过255)

定位符

^      文本的开始
$      文本的结尾
[[:<:]]  词的开始
[[:>:]]  词的结束

你可能感兴趣的:(MySql 正则表达式)