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)

定位符

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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容