注意: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)
定位符
^ 文本的开始
$ 文本的结尾
[[:<:]] 词的开始
[[:>:]] 词的结束