25、MySQL 中使用正则表达式

使用REGEXP正则表达式查询

以 student 表为例,使用正则表达式查询出姓王的教师:

SELECT * FROM student WHERE name REGEXP '^王';

name REGEXP '^王'表示选择以王开头的数据

使用正则表达式查询 name 字段中包含小字的数据:

SELECT * FROM student  WHERE name REGEXP '小';

以 teacher 表为例,使用正则表达式匹配符合邮箱格式的数据:

SELECT * FROM teacher  WHERE email REGEXP '^[a-zA-Z0-9_-]+@[a-zA-Z0-9_-]+(\.[a-zA-Z0-9_-]+)+$';

常用正则表达式

11手机号正则表达式:

^1([38][0-9]|4[579]|5[0-3,5-9]|6[6]|7[0135678]|9[89])\d{8}$

域名网址正则表达式

^(?=^.{3,255}$)(http(s)?:\/\/)?(www\.)?[a-zA-Z0-9][-a-zA-Z0-9]{0,62}(\.[a-zA-Z0-9][-a-zA-Z0-9]{0,62})+(:\d+)*(\/\w+\.\w+)*$

日期+时间正则表达式

^[1-9]\d{3}-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])\s+(20|21|22|23|[0-1]\d):[0-5]\d:[0-5]\d$

参考资料:http://www.imooc.com/wiki/mysqllesson/mysqlre.html

posted @ 2022-07-06 00:11  tiansz  阅读(208)  评论(0编辑  收藏  举报